Php mysqli列表框
我有一个列表框,有两个问题 1我怎么还能有文字说选择一个国家? 第二,在我的更新页面上,它显示了正确的国家,但不允许更改,因为它不会在编辑页面中列出任何其他国家Php mysqli列表框,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个列表框,有两个问题 1我怎么还能有文字说选择一个国家? 第二,在我的更新页面上,它显示了正确的国家,但不允许更改,因为它不会在编辑页面中列出任何其他国家 <?php $sql = "SELECT countries.country_id, countries.country_name, users.user_country FROM countries, users WHERE users.user_country = countries.count
<?php
$sql = "SELECT countries.country_id, countries.country_name, users.user_country FROM countries, users
WHERE users.user_country = countries.country_id";
$result = query($sql);
?>
<select class="form-control input-lg box" id="country" name="country">
<?php
$i = 0;
while (($row = mysqli_fetch_assoc($result)) != false) {
?>
<option value="<?=$row["country_id"];?>"><?=$row["country_name"];?></option>
<?php
$i ++;
}
?>
好的,要使数据库调用不提供默认选项,您只需要一个HTML语句,如
<option value="">Select a country</option>
当然,可以通过多种方式定义$selected,包括在条件赋值语句中。我省略了$I计数器,这里不需要它,但是,当然,您以后可能需要它。(1)在您的
之后和php代码/循环之前添加选择一个国家。(2) 如果不在更新页面上查看代码,我们将无法帮助识别您的问题。最有可能的情况是,虽然您正在使用发布的国家(/国家id
)值执行选择
查询,但您只选择了该值。相反,你可以做这样的选择,只需在与发布的国家(country)值匹配的行上设置selected=“selected”
(/country\u id
)值。谢谢Robin Richmondi无法使while循环工作,但我正在工作
while (($row = mysqli_fetch_assoc($result)) != false) {
if ($usercountryID == $row["country_id"]) $selected = " selected";
else $selected = "";
echo "<option value='{$row['country_id']}$selected>{$row['country_name']}</option>\n";
}