Gå til innhold

Hente verdier fra select og legge i spørring


Anbefalte innlegg

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
Videoannonse
Annonse

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 av kakkle
Lenke til kommentar
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

JA det må jeg si... Da lærte jeg også noe nytt :D

 

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 av kakkle
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...