Php 在下拉列表中循环,如何选择值?
当在页面上显示表单供用户编辑信息,并且表单由下拉框组成时,如何循环通过下拉框中的选择来选择其预定义的mySQL条目 比如说 用户国家:澳大利亚 我将如何在国家列表中进行搜索,即:制作:Php 在下拉列表中循环,如何选择值?,php,mysql,Php,Mysql,当在页面上显示表单供用户编辑信息,并且表单由下拉框组成时,如何循环通过下拉框中的选择来选择其预定义的mySQL条目 比如说 用户国家:澳大利亚 我将如何在国家列表中进行搜索,即:制作: 澳大利亚 变成 <option value="AU" selected="selected">Australia</option> 澳大利亚 您可以执行以下操作: <?php $countries = array('AU' => 'Australia', 'AF' =>
澳大利亚
变成
<option value="AU" selected="selected">Australia</option>
澳大利亚
您可以执行以下操作:
<?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所建议的,如果值位于数据库中,而不是在代码中间的一个大数组中,则更容易维护。
,你可以做一些类似的事情:
<?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所建议的,如果值位于数据库中,而不是在代码中间的一个大数组中,则更容易维护。
可以是这样的:
<?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>";
}
?>
可以是这样的:
<?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>";
}
?>
不要分别为所有国家/地区创建每个选项。尝试更好的方法为国家创建DB表。在它们之间循环以返回下拉列表。获取以前选择的值并与列表进行比较,并回显“selected”不要为所有国家/地区分别创建每个选项。尝试更好的方法为国家创建DB表。在它们之间循环以返回下拉列表。获取以前选择的值并与列表进行比较,并回显“已选择”