Gå til innhold

"Egengenerert" spørring


Anbefalte innlegg

Hei!

 

Jeg har en tabell med en slags "medlemsliste".

Den ser slik ut:

create table users
(
   userID int auto_increment primary key,
   nick char(20),
   password char(32),
   navn char(20),
   adresse char(20),
   postnummer int,
   poststed char(20),
   tlf int,
   mobil int,
   email char(50),
   url char(50),
   date_added char(14),
   IP char(16),
   bil_ref char(10),
   bil_aktiv int,
);

 

Jeg ønsker å ha en side med masse select-bokser (13 stk) hvor folk velger blant feltene over og på den måten "genererer" sin egene medlemsliste.

Dette skal sendes via GET slik at folk kan bookmarke den.

 

Har noen noen ideer/forslag til hvordan jeg bør løse dette i "visnings-siden"?

Regner med at jeg hadde greid å kode noe slikt, men ser for meg at det bli masse kode med masse "IF'er". Regner med at det finnes lettere måter... :)

Lenke til kommentar
Videoannonse
Annonse

Hvis du på den første siden med masse select-bokser sørger for at "selected item" er den første i hver boks og at 'value=""' på hvert enesete første valg. Altså noe slikt:

<select name="postnummer">
<option value="">--Velg nummer--</option>
<option value="0023">0023</option>
</select>

Sql-setning blir vel noe enkelt som f.eks slikt:

Select navn, nick from users where postnummer like "%postnummer%" and navn like "%navn%" and .........;

 

Desom postnummer = "" så vil vel den matche alt.

Lenke til kommentar

Forklarte meg kanskje litt dårlig.

Har skrevet siden der de skal velge hva som skal være med:

<?php

$options = <<<CONTENT
<OPTION value="0">-
<OPTION value="nick">Nick
<OPTION value="navn">Navn
<OPTION value="adresse">Adresse
<OPTION value="postnummer">Postnummer
<OPTION value="poststed">Poststed
<OPTION value="tlf">Tlf
<OPTION value="mobil">Mobil
<OPTION value="email">E-mail
<OPTION value="url">URL
<OPTION value="date_added">Dato lagt til
<OPTION value="IP">IP
<OPTION value="bil_ref">Referansenummer
<OPTION value="bil_aktiv">Billett status
CONTENT;
?>

<form method="GET" action="view_report.php">
<table border=0>

<?php

$i=0;

while ($i < 13) {
$nummer = $i + 1;
?>
<tr>
<td width="20px"><?php echo $nummer; ?>.</td>
<td width="70px">
<SELECT name="<?php echo $i; ?>">
<?php echo $options; ?>
</select>
</td>
</tr>
<?php
++$i;
}
?>
</table>
<br>
<input type="submit" value="Vis">
<input type="reset">
</form>
</body>
</html>

 

Vet ikke helt hva jeg bør kalle hver selectbox, men mener det skal gå an å gjøre slik at "view_report.php" "teller" hvor mange av select-boxene som ikke er "0" (iom at jeg bruker et array) og genererer en select ut fra det. Lurer også litt på hvordan jeg skal printe ut det hele i en tabell etter at queryet er kjørt...

 

Her er kode som viser hvor mange av feltene som var "valgt":

<?php

$query = "SELECT ";
$i=0;
while ($i < 13) {
$vis[$i] = $_GET[$i];

if ($vis[$i] == "0") {
unset($vis[$i]);
}
else {
$query .= $vis[$i] . ", ";
echo $query . "<br>";
}
++$i;
}

// Fjerner ", " på slutten av $query
$lengde = strlen($query);
$lengde = $lengde - 2;
$query = substr_replace($query, '', $lengde, 2);

?>

Så er det det med å kjøre queryet og vise en liste over resultater...

Noen ideer?

Kan ikke så mye med "foreach"... :(

Endret av ZoRaC
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...