任何人都可以帮我处理以下代码吗?我有一个从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;
非常感谢,
约翰
答案 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
阵列访问它。