Dropdown menu en PHP

Status
Niet open voor verdere reacties.

haaswijk

Gebruiker
Lid geworden
23 mei 2006
Berichten
139
Hallo,

ik ben bezig met een formulier waarbij bestaande gegevens in een MySQL database kunnen worden gewijzigd. Het gaat hier om een Ja / Nee waarde, zodat men kan zien of iemand getrouwd is of niet. Dit doe ik met behulp van een HTML dropdown menu.

Wanneer dit formulier wordt geopend, is het de bedoeling dat de huidige waarde wordt gelezen en als standaardvalue staat. Dus wanneer de waarde "Ja" is in de database, is dit ook de optie die standaard geselecteerd is in de drowdown. Hetzelfde moet gebeuren als de waarde "Nee" is. De code die ik nu gebruik is als volgt:

PHP:
<select name="getrouwd">
<option value="<? echo $row[getrouwd]; ?>"><? echo $row[getrouwd]; ?></option>
<option value="Ja">Ja</option>
<option value="Nee">Nee</option>
</select>

In bovenstaand geval wordt de huidige waarde prima uitgelezen en staat als voorkeursoptie, alleen weet ik niet hoe de overige opties zo kunnen worden ingesteld dat ze niet meer dubbel voorkomen. Nu zijn de options zoiets als:

Ja
Ja
Nee


Of:

Nee
Ja
Nee

Afhankelijk van de huidige waarde. Wie heeft er raad???

Alvast bedankt!
 
Je kunt aangegeven welke value geselecteerd is met het "selected" attribuut:

HTML:
<select name="getrouwd">
<option value="Ja" <?php if ( $row['getrouwd'] == 'Ja' ): ?>selected="selected"<?php endif; ?>>Ja</option>
<option value="Nee" <?php if ( $row['getrouwd'] == 'Nee' ): ?>selected="selected"<?php endif; ?>>Nee</option>
</select>

Netheidspuntje: het is $row['veld'], met aanhalingstekens. Als je het zonder doet, verwijs je naar een constante en dat is niet correct (hoewel PHP er niet zo heel hard over klaagt, als je volledige foutmeldingen aanzet krijg je wel een Notice)
 
Hoi Frats,

met de door jou opgegeven code werkt het inderdaad perfect!

Bedankt voor je hulp en de tip ;) !

Vraag opgelost.
 
In principe hoeft je alleen maar te checken of "Nee" is geselecteerd omdat je maar twee opties hebt.

Standaard zal "Ja" gekozen worden
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan