来自MySQL的Dropdown Box记住提交后的选择

时间:2013-08-09 12:54:52

标签: php mysql

任何人都可以帮我处理以下代码吗?我有一个从MySQL DB填充的下拉框。一切正常,但我希望在表格提交后记住选择。

以下代码:

$sql="select category_code, category_desc from members_categories";

$result=mysql_query($sql);

$dropdown = "<select name='category_desc' size='1'><option value='%'>All</option>";

while($rows=mysql_fetch_array($result)){

$dropdown .= "\r\n<option value='{$rows['category_code']}'>{$rows['category_desc']}</option>";

}

$dropdown .= "\r\n</select>";

echo $dropdown;

非常感谢,

约翰

1 个答案:

答案 0 :(得分:1)

如果提交的选项与添加到html中的任何选项匹配,则基本上需要检查循环,如果他们这样做,则将html selected="selected"插入该元素。

以下是使用您的代码如何工作的示例:

$sql="select category_code, category_desc from members_categories";

$result=mysql_query($sql);

$dropdown = "<select name='category_desc' size='1'><option value='%'>All</option>";

while ($rows=mysql_fetch_array($result)) {

    $checked = ($rows['category_code'] == $_POST['category_code'])? "selected='selected'":"";

    $dropdown .= "\r\n<option value='{$rows['category_code']}' $checked>{$rows['category_desc']}</option>";

}

$dropdown .= "\r\n</select>";


echo $dropdown;

希望这有帮助。

编辑假设您将在之后再次显示该表单 如果没有,那么您只需将已发布的选择保存到$_SESSION阵列,并且当会话至少处于活动状态时,您将能够在需要时从$_SESSION阵列访问它。

读取此basic php sessions examples