2010-05-27 8 views
-1

В форме профиля редактирования Я хочу отобразить выбранное значение раскрывающегося списка Country как значение, сохраненное в db, и пользователь также может изменить это.выпадающее меню выбранное значение из базы данных

+4

Это желание, а не вопрос. Какая у вас проблема с этим и какой код вы написали? – Palantir

+0

Прямо сейчас это не имеет никакого отношения к PHP – jigfox

+0

@Patantir you dumbo – ramukaka

ответ

0

вам необходимо установить выбранный атрибут:

UPDATE

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

@aSeptic: Это именно то, как это сделать. Для 30 дополнительных опций у вас есть массив с этими параметрами и можно пройти через него! Первый пример был просто коротким. – jigfox

+0

второй в порядке! ;-) –

+0

Я сделал свой первый пример без массива, потому что «ramukaka» не размещал никакого кода, и я не хотел делать много предположений, как это может выглядеть – 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

слегка расширенная версия ответа Йенса - облегчает добавление новых опций :

<?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>