remi sture Skrevet 3. april 2006 Del Skrevet 3. april 2006 Heisann! Kan noen hjelpe meg med å få hentet value'ene fra select-boksen inn i spørringen? Altså i stedet for å hardkode inn "WHERE klasse.klasseid IN (8,9,10,11,12,15,16,17,18) ", vil jeg ha det slik: "WHERE klasse.klasseid IN ($klasser) " Håper noen kan hjelpe meg med dette! (Verdiene i select-boksen skal selvfølgelig hentes fra databasen, men skrev det slik foreløpig for å illustrere hvordan jeg skal ha det.) <form action="" method="post"> <p> <label for="klasse">Velg klasse: (hold inne ctrl for å velge flere) <select name="klasse" id="klasse" multiple="multiple"> <option value="8">Klasse #8</option> <option value="9">Klasse #9</option> <option value="10">Klasse #10</option> <option value="11">Klasse #11</option> <option value="12">Klasse #12</option> <option value="15">Klasse #15</option> <option value="16">Klasse #16</option> <option value="17">Klasse #17</option> <option value="18">Klasse #18</option> </select> </label> <br /> <label for="submit"> <input type="submit" name="submit" id="submit" value="OK" /> </label> </p> </form> <?php require_once("../config.php"); $query = "SELECT DISTINCT kontakt.epost FROM lag RIGHT JOIN kontakt ON (lag.kontaktid = kontakt.kontaktid) LEFT JOIN klasse ON (lag.klasseid = klasse.klasseid) WHERE klasse.klasseid IN (8,9,10,11,12,15,16,17,18) ORDER BY kontakt.epost"; $res = mysql_query($query); echo "<h2>Kontaktpersoner</h2>\n"; if(@mysql_num_rows($res) == 0) { echo '<p>Ingen kontaktpersoner er lagt til!</p>'; } else { echo "<table>\n"; echo "<tr>\n"; echo "<th>Epost</th>\n"; echo "</tr>\n"; while($sql = mysql_fetch_object($res)) { echo "<tr>\n"; echo "<td>$sql->epost</td>\n"; echo "</tr>\n"; } echo "</table>\n"; } ?> Lenke til kommentar
trondes Skrevet 3. april 2006 Del Skrevet 3. april 2006 Jeg hadde vel gjort det slik: if(is_array( $_POST['klasse'])){ foreach( $_POST['klasse'] as $nr => $value) $klasser .= $value.","; $klasser = trim( $klasser, ","); } Lenke til kommentar
kakkle Skrevet 3. april 2006 Del Skrevet 3. april 2006 (endret) Du må vel sikkert benytte checkbox, kanskje ? Select / Option lar deg vel bare velge et av valgene ? Og jeg ville nok også gjort noe ala det Trondes sier, men kanskje heller brukt implode funksjonen, som er funksjonen som er laget for å lage en streng av et array, med et gitt skilletegn mellom: if(is_array( $_POST['klasse'])){ $klasser = implode (",", $_POST['klasse']); } EDIT: _ Endret 3. april 2006 av kakkle Lenke til kommentar
trondes Skrevet 3. april 2006 Del Skrevet 3. april 2006 Du må vel sikkert benytte checkbox, kanskje ? Select / Option lar deg vel bare velge et av valgene ? Og jeg ville nok også gjort noe ala det Trondes sier, men kanskje heller brukt implode funksjonen, som er funksjonen som er laget for å lage en streng av et array, med et gitt skilletegn mellom: if(is_array( $_POST['klasse'])){ $klasser = implode (",", $_POST['klasse']); } implode tenke jeg ikke på. lærte noe nytt i dag også Joda, fult mulig å velge flere med Select, men må putte inn multiple="multiple" i Select tagen Lenke til kommentar
kakkle Skrevet 3. april 2006 Del Skrevet 3. april 2006 (endret) JA det må jeg si... Da lærte jeg også noe nytt hehehe... EDIT: Multiple står jo i koden til Remi Sture, så hvis jeg hadde sett litt bedre etter, så hadde jeg jo sett det. Det er jo ganske selvforklarende hvorfor det står multiple, da Endret 3. april 2006 av kakkle Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå