0

任何人都可以帮助我使用以下代码吗?我有一个从 MySQL 数据库填充的下拉框。一切正常,但我希望它在提交表单后记住选择。

下面的代码:

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

非常感谢,

约翰

4

1 回答 1

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在会话处于活动状态时在需要时从数组中访问它。

阅读这个基本的 php 会话示例

于 2013-08-09T13:01:05.753 回答