Avatar billede gubien Nybegynder
13. august 2008 - 13:16 Der er 4 kommentarer

Dynamisk select boks, huske sidste værdi?

Hej alle

Jeg er igang med et mindre statestik system.
Jeg har en select boks som bliver genereret udfra en mssql tabel.
Af praktiske grunde ønsker jeg at sidste valg skal huskes, problemet er dog at når siden reloades, genereres select boksen på ny.

Hvordan får jeg den til at huske sidst valgte?

Uddrag er nuværende kode er som følger:

$query1 = mssql_query("SELECT typen FROM typen ORDER BY typen");
if(mssql_num_rows($query1)>0){
$SogInventar_Form .= '<td><select name="typen">';
$SogInventar_Form .= '<option value="'.$_GET['typen'].'">Alle typer</option>';
while($row = mssql_fetch_assoc($query1)){
$SogInventar_Form .= '<option value="'.$row['typen'].'">'.$row['typen'].'</option>';
}
$SogInventar_Form .= '</select></td>';
}
Avatar billede w13 Novice
13. august 2008 - 13:19 #1
Når formen submittes, må du jo lægge den valgte værdi i en session.

Når du så bygger select'en, skal du for hvert element sammenligne med din session. Hvis værdien er den samme, skal der sættes selected="selected" på option'en.
Avatar billede gubien Nybegynder
13. august 2008 - 14:40 #2
Det lyder som en plan, det må jeg give mig i kast med ;o)
Avatar billede simonhans73 Nybegynder
15. august 2008 - 11:15 #3
Hvis du vil undgå at bruge sessions kan du give urlen en parameter

<form name="min_form" method="post" src="index.php">
<select name="min_bil">
<option value ="volvo">Volvo</option>
<option value ="saab">Saab</option>
<option value ="opel" selected="selected">Opel</option>
<option value ="audi">Audi</option>
</select>
</form>

I din side kan du så hente den med $_POST['min_bil']

Du kan så skrive lidt php


<form name="min_form" method="post" src="index.php">
<select name="min_bil">
<?php
$biler=array('volvo',saab,'opel','audi');


for($i=0;$i<count($biler);$i++){
if($_POST['min_bil']=$biler[$i]){

echo "<option value =\"".$biler[$i]."\" selected="selected">"".$biler[$i]."\"</option>";
}else{
echo "<option value =\"".$biler[$i]."\" $biler[$i]."\"</option>";

}
}
?>


Hvis der ikke er fejl i skidtet skulle det virke :-)
Avatar billede simonhans73 Nybegynder
15. august 2008 - 11:17 #4
Ups
Denne sætning er forkert:
"Hvis du vil undgå at bruge sessions kan du give urlen en parameter".

For vi bruger post i dette eksempel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester