如何在php中提交表单后从下拉列表中获取选定的值

时间:2014-01-16 14:17:26

标签: php mysql

我希望保留我在发布表单后选择提交的下拉值。我的表单发布到同一页面。

$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>"; ?>

2 个答案:

答案 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 *函数代替......