2010-05-27 5 views
-1

Sous forme de profil d'édition, je souhaite afficher la valeur sélectionnée de la liste déroulante Pays comme valeur enregistrée dans db et l'utilisateur peut également modifier cette valeur.liste déroulante valeur sélectionnée de la base de données

+4

Ceci est un souhait, pas une question. Quel problème avez-vous avec ceci, et quel code avez-vous écrit jusqu'ici? – Palantir

+0

À l'heure actuelle, il n'a rien à voir avec PHP – jigfox

+0

@Patantir vous dumbo – ramukaka

Répondre

0

vous devez définir l'attribut sélectionné:

MISE À JOUR

<? $countries = array(/* Array of countries */); ?> 
<select name="country"> 
    <? foreach($countries as $c): ?> 
    <option<?= $c == $country ? ' selected="selected"' : '' ?>><?= $c ?></option> 
    <? endforeach; ?> 
</select> 
+0

@ aSeptic: C'est exactement le moyen de le faire. Pour 30 ou plus d'options vous avez un tableau avec ces options et pouvez le faire défiler! Le premier exemple était juste destiné à être court. – jigfox

+0

le second est très bien! ;-) –

+0

J'ai fait mon premier exemple sans tableau, parce que 'ramukaka' n'affichait aucun code, et je ne voulais pas faire beaucoup d'hypothèses à quoi cela ressemblerait – jigfox

0
<select id="user" name="user[sex]" > 
    <option value="male" <?php $sex == "male" ? "selected" : '' ?>>Male</option> 
    <option value="female" <?php $sex == "female" ? "selected" : '' ?>>Female</option> 
</select> 
2
echo "<select name='cmbCountry'>"; 
while($country = mysql_fetch_array($countries)){ 
    echo "<option value='".$country["id"]."'".($country["id"] == $profile["idCountry"]) ? " selected='selected'" : "".">".$country["name"]."</option>" 
} 
echo "</select>"; 
0

version légèrement avancée de la réponse de Jens - rend plus facile d'ajouter de nouvelles options :

<?php $countries = array('USA', 'Kanada', 'Mexico'); ?> 

<select name="country"> 
    <?php foreach ($countries as $c): ?> 
    <option<?php $country == $c ? ' selected="selected"' : ''; ?>>$c</option> 
    <?php endforeach; ?> 
</select> 
Questions connexes