Avatar billede madsens90 Praktikant
25. oktober 2007 - 21:03 Der er 7 kommentarer og
1 løsning

Sæt "selected" i en selectboks til at være det sidst angivne

Brugerne på min hjemmeside kan når de redigere deres profil vælge status.
Det har jeg lavet sådan:
Status:<br>
<select size="1" name="status">
    <option selected="selected">Single</option>
    <option>Kæreste</option>
    <option>Gift</option>
</select>

Og vil gerne have at næste gang man kigger på den side hvor man redigerer i sine oplysninger, står der det man valgte sidst.
Hvordan gøres dette??
Avatar billede jakobdo Ekspert
26. oktober 2007 - 09:14 #1
Du gemmer status i en database ikke?
Avatar billede madsens90 Praktikant
26. oktober 2007 - 10:51 #2
jo..

Gemmer tekst.. Så ud for mig i databasen gemmer den f. eks : single

og ikke et tal, eller noget.. :P
Avatar billede jakobdo Ekspert
26. oktober 2007 - 11:03 #3
Så skal du lave noget i stil med:

$query = mysql_query("SELECT status FROM tabel WHERE bruger = $brugernavn LIMIT 1");
if(mysql_num_rows($query)==1)
{
    $row = mysql_fetch_assoc($query);
   
    echo '<select size="1" name="status">';
    echo '<option'.(($row['status'] == 'single')?' selected="selected"':'').'>Single</option>';
    echo '<option'.(($row['status'] == 'kaereste')?' selected="selected"':'').'>Kæreste</option>';
    echo '<option'.(($row['status'] == 'gift')?' selected="selected"':'').'>Gift</option>';
    echo '</select>';
}
Avatar billede madsens90 Praktikant
26. oktober 2007 - 11:21 #4
$name = $session->username;
$query = mysql_query("SELECT status FROM users WHERE username = '$name' LIMIT 1");
if(mysql_num_rows($query)==1)
{
    $row = mysql_fetch_assoc($query);
   
    echo '<select size="1" name="status">';
    echo '<option'.(($row['status'] == 'single')?' selected="selected"':'').'>Single</option>';
    echo '<option'.(($row['status'] == 'kæreste')?' selected="selected"':'').'>Kæreste</option>';
    echo '<option'.(($row['status'] == 'gift')?' selected="selected"':'').'>Gift</option>';
    echo '</select>';
}

Så for mig ser det sådan ud... okay.. prøver når jeg kommer hjem, at ligge det på nettet. :)
Avatar billede jakobdo Ekspert
26. oktober 2007 - 11:44 #5
Noget i den stil ja!
Sammen funktionalitet kan jo kodes på mange måder, men giv det et forsøg og lad os se på det.
Avatar billede madsens90 Praktikant
26. oktober 2007 - 12:37 #6
Mange tak. :)

Kom med et svar, og så for du point. :)

Brugte dette:
<?
$name = $session->username;
$query = mysql_query("SELECT status FROM users WHERE username = '$name' LIMIT 1");
if(mysql_num_rows($query)==1)
{
    $row = mysql_fetch_assoc($query);
   
    echo '<select size="1" name="status">';
    echo '<option'.(($row['status'] == 'Single')?' selected=selected':'').'>Single</option>';
    echo '<option'.(($row['status'] == 'Kæreste')?' selected=selected':'').'>Kæreste</option>';
    echo '<option'.(($row['status'] == 'Gift')?' selected=selected':'').'>Gift</option>';
    echo '</select>';
}
?>
Avatar billede jakobdo Ekspert
26. oktober 2007 - 13:00 #7
Svar!
Avatar billede jakobdo Ekspert
05. november 2007 - 13:00 #8
Takker for point.
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

IT-JOB

Everllence

Software Engineer

Allerød Kommune

Digitaliseringschef

IT-Universitetet i København

CIO