Toon posts:

PHP default waarde Select box

Pagina: 1
Acties:
  • 66 views sinds 30-01-2008

Verwijderd

Topicstarter
Beste mensen, hoe kan ik ervoor zorgen dat ik een default waarde uit de database kan ophalen zonder dat er dubbele gegevens in een select box staan? Ik heb ondermeer de search gebruik tmaar kom er niet uit.
Ik heb de volgende tabel:

leden
-----
userid
sex

Nu staat er in sex zegmaar man of vrouw (als text)
Wat ik graag zou willen is als men de selectie boxje request en wegschrijft dat hij voortaan de standaard waarde op man zet als er dus man in de database staat bij zijn gebruikers id.
Het lukte me helaas niet met bovenstaande code.
Kan iemand me misschien helpen...

Ik heb onderstaande code in html

<select name="leden_sex" tabindex="2">
<option value="1">Vrouw</option>
<option SELECTED VALUE="2">Man</option>
</select>

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
je geeft je eigen antwoord al. Gewoon selected="selected" in xhtml of selected in html als attribuut toevoegen aan de default optie.

PHP:
1
<option value="blaat"<?php print $rs['value'] == "blaat" ? ' selected="selected"' : ''; ?>>blaat</option>

[ Voor 35% gewijzigd door Michali op 05-02-2005 15:48 ]

Noushka's Magnificent Dream | Unity


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat dacht je van het SELECTED attribuut toevoegen aan de relevante option :?

Denk dat het misschien handiger is, in 't kader van normalisatie, om in de tabel ook met 1 en 2 te werken (maakt het nu ook wat makkelijker voor jou), met een verwijzing naar een andere tabel waar staat:

1: vrouw
2: man

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • marcovtwout
  • Registratie: Juli 2004
  • Laatst online: 01-12-2025
PHP:
1
2
3
4
5
6
7
8
9
10
11
echo "<select name=\"leden_sex\" tabindex=\"2\">";

echo "<option value=\"1\"";
if($sex == 'm') {echo "SELECTED"}
echo ">man</option>";

echo "<option value=\"2\"";
if($sex == 'v') {echo "SELECTED"}
echo ">vrouw</option>";

echo "</select>"


zoiets?
of bedoel je wat heel anders?

*edit, foutje bewerkt

[ Voor 73% gewijzigd door marcovtwout op 05-02-2005 16:01 ]


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
marcovtwout schreef op zaterdag 05 februari 2005 @ 15:52:
PHP:
1
2
3
4
5
6
7
8
9
10
11
echo "<select name=\"leden_sex\" tabindex=\"2\">";

echo "<option value=\"1\">";
if($sex == 'm') {echo "SELECTED"}
echo "man</option>";

echo "<option value=\"2\">";
if($sex == 'v') {echo "SELECTED"}
echo "vrouw</option>";

echo "</select>"


zoiets?
Nee, want een atribuut moet binnen de option tag staan en niet genest erin.

[ Voor 24% gewijzigd door Michali op 05-02-2005 15:54 ]

Noushka's Magnificent Dream | Unity


  • Zoefff
  • Registratie: September 2001
  • Laatst online: 13-05 10:16

Zoefff

❤ 

Ik heb het zo opgelost:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function write_selectbox_maanden($selectbox_name) {
    global $r, $action;
    $selectbox = "<select name='" . $selectbox_name . "'>";
    $maanden = array("Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December");
    for ($i = 0; $i <= 11; $i++) {
        if (($i+1) == $r['maand']) {
            $selected = " selected='selected'";
        }
        else {
            $selected = "";
        }
        $selectbox .= "<option value='" . ($i+1) . "'" . $selected . ">" . $maanden["$i"] . "</option>";
    }       
    $selectbox .= "</select>";
    return $selectbox;      
}

Zet alle opties dus bijvoorbeeld in een array (in mijn geval heb ik $i er voor gebruikt, omdat het de maandnummers zijn), en per optie vergelijk je de optie met de waarde voor dat veld in je databse. Is die hetzelfde, zet er dan selected bij, en anders niet.


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


  • marcovtwout
  • Registratie: Juli 2004
  • Laatst online: 01-12-2025
Zo doe ik het ook, maar ik zette het even duidelijk voor hem neer ;)

  • Zoefff
  • Registratie: September 2001
  • Laatst online: 13-05 10:16

Zoefff

❤ 

marcovtwout schreef op zaterdag 05 februari 2005 @ 16:09:
Zo doe ik het ook, maar ik zette het even duidelijk voor hem neer ;)
Ja oke da's waar :P

Met het enige verschil dat als je het op jouw manier doet, dat het dan al snel onoverzichtelijk word als je enorme selectboxen hebt. Maar voor die man/vrouw situatie is het misschien wel beter dan mijn oplossing :)


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15-05 14:40

gorgi_19

Kruimeltjes zijn weer op :9

Zie bovenstaande replies; Selected gebruiken lijkt de oplossing en per item nalopen :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.