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