我希望保留我在发布表单后选择提交的下拉值。我的表单发布到同一页面。
$query = "SELECT countryName,countryCode FROM tcf_countries";
$result = mysql_query ($query);
echo "Country: <select name='country' value=''>";
while($r = mysql_fetch_array($result)) {
$id = $r['countryCode'];
$cname = $r['countryName'];
echo "<option value=".$id.">".$cname."</option>";
}
echo "</select>"; ?>
答案 0 :(得分:1)
删除循环中的当前echo
并将其替换为以下内容:
if($_POST["country"]==$id)
echo "<option value='".$id."' selected='selected'>".$cname."</option>";
else
echo "<option value='".$id."' >".$cname."</option>";
这将检查当前显示的option
是否是已提交的那个,并且在那种情况下它将选择它。
答案 1 :(得分:0)
如果我理解您正在寻找的内容,则需要使用您选择的$_POST
值来设置所选项目...
$query = "SELECT countryName,countryCode FROM tcf_countries";
$result = mysql_query ($query);
$country = '';
echo "Country: <select name='country'>";
while($r = mysqli_fetch_array($result)) {
$id = $r['countryCode'];
$cname = $r['countryName'];
echo "<option value=".$id;
echo ($_POST["country"]==$id) ? ' selected="SELECTED"' : '';
echo ">".$cname."</option>";
}
echo "</select>"; ?>
为匹配selected="SELECTED"
的{{1}}设置$id
会使其成为您下拉列表中的所选项目。
并且,摆脱mysql *函数并使用mysqli *函数代替......