Перебирая выпадающий список, как выбрать значение?

0

При отображении формы на странице для пользователя, чтобы редактировать информацию, а форма состоит из раскрывающегося списка, как вы прокручиваете выделение в раскрывающемся списке, чтобы выбрать их предопределенную запись mySQL?

Например

Страны-пользователи: Австралия

Как я буду искать список стран, например: http://snipplr.com/view/4792/country-drop-down-list-for-web-forms/, чтобы сделать:

<option value="AU">Australia</option>

стать

<option value="AU" selected="selected">Australia</option>
  • 0
    Не создавайте каждый вариант отдельно для всех стран. Попробуйте лучше подойти к созданию таблицы БД для стран. Переберите их, чтобы эхо упало. Получить ранее выбранное значение и сравнить со списком и отобразить «выбранные»
Теги:

2 ответа

3
Лучший ответ

Вы можете сделать что-то вроде:

<?php
$countries = array('AU' => 'Australia', 'AF' => 'Afghanistan', ...);
$selected = 'AU';
foreach ($countries as $code => $label) {
    echo '<option value="' . $code . '"';
    if ($selected == $code) {
        echo ' selected="selected"';
    }
    echo '>' . $label . '</option>';
}
?>

Не самый красивый, но вы поняли эту идею. Как предполагает Шакти, его также легче поддерживать, если значения находятся в БД, а не в массивном массиве в середине кода.

2

Может быть что-то вроде этого:

<?php
//your query here
$sql = "SELECT * FROM countries ORDER BY code ASC";
$result_set = $database->query($sql);

while($country = $database->fetch_array($result_set)) {
    if ($country["code"] == "AU"){
        echo "<option value=\"{$country['code']}\" selected=\"selected\">{$country['name']}</option>";
}
    else {
        echo "<option value=\"{$country['code']}\">{$country['name']}</option>";
    }       
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню