Php 设置根据MySQL值选择的下拉列表
可能重复:Php 设置根据MySQL值选择的下拉列表,php,mysql,Php,Mysql,可能重复: 我有一个下拉列表: <select name="province"> <option value="Alberta">Alberta</option> <option value="British Columba">British Columba</option> <option value="Manitoba">M
我有一个下拉列表:
<select name="province">
<option value="Alberta">Alberta</option>
<option value="British Columba">British Columba</option>
<option value="Manitoba">Manitoba</option>
<option value="New Brunswick">New Brunswick</option>
<option value="Newfoundland">Newfoundland</option>
<option value="N.W. Territories">N.W. Territories</option>
<option value="Nova Scotia">Nova Scotia</option>
<option value="Ontario">Ontario</option>
<option value="Prince Edward Island">Prince Edward Island</option>
<option value="Saskatchewan">Saskatchewan</option>
<option value="Yukon Territory">Yukon Territory</option>
<option value="Quebec">Quebec</option>
</select>
阿尔伯塔省
不列颠哥伦比亚省
马尼托巴省
新不伦瑞克省
纽芬兰
新界
新斯科舍省
安大略
爱德华王子岛
萨斯喀彻温省
育空地区
魁北克省
表单将选择提交到MySQL数据库中。这是一个个人资料页面。当用户返回此配置文件页面更改选择时,他的选择(从MySQL抓取)应显示为已选择。有什么办法可以做到这一点吗
例如,当再次加载配置文件页面时,对照数据库检查,抓取字段,将其与列表进行比较,然后选择所选的值。以下是我要做的: 在显示表单之前初始化变量
if ($_SERVER['REQUEST_METHOD'] == "POST") { // if we're getting info from the form
$defaultProvince = $_POST['province']; // set the province to the selected pulldown
} else {
$defaultProvince = ""; // otherwise default to an empty string
}
$provinces = ("Alberta", // set up the provinces array
"British Columbia",
"Manitoba",
"New Brunswick",
....
);
然后在表单显示例程中,我将添加:
echo '<select name="province">\n';
foreach ($provinces as $province) { // run through our array of provinces
echo ' <option value="$province"';
if ($province === $defaultProvince) { // if the default province matches this particular array province
// then we'll select it
echo ' selected="selected"' // xhtml 1.0 Strict/1.1 compliant
}
echo '>$province</option>\n';
}
echo '</select>\n';
echo'\n';
foreach($province作为$province){//遍历我们的省份数组
echo’你有正确的逻辑,就这么做吧
<?php
$province_array = array('Alberta', 'British Columba', ......, 'Quebec');
echo '<select name="province">';
//get the user's setting with user_id from DB. You should get this before this script.
$sql = "SELECT user_province FROM the_table WHERE user_id=$user_id;";
$query = mysql_query($sql, $the_connection) or die (mysql_error());
if($row = mysql_fetch_assoc($query)) {
$user_province = $row['user_province'];
foreach($province_array as $value) {
if ($value == $user_province) { //if the province==the user's setting, make it default
echo '<option value="'.$value.'" selected="selected">'.$value.'</option>';
} else { //else, echo it as regular
echo '<option value="'.$value.'">'.$value.'</option>';
}
}
}
echo '</select>';
?>
建立到数据库的连接
确保您可以获取任何类似“用户id”的内容来
从数据库中区分不同的用户省
然后是样品
看起来你已经弄明白了,到底是什么问题,省列表也来自数据库吗?我在这里找到了解决方案:到目前为止,你的php和SQL在哪里?