通过下拉循环,如何选择价值?

时间:2011-02-10 05:57:10

标签: php mysql

在页面上显示表单以供用户编辑信息,并且表单由下拉框组成时,如何在下拉框中循环选择预定义的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>

2 个答案:

答案 0 :(得分: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>';
}
?>

不是最漂亮但你明白了。正如Shakti建议的那样,如果值在数据库中而不是在代码中间的大量数组中,那么它也更容易维护。

答案 1 :(得分: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>";
    }       
?>