【发布时间】:2017-03-23 07:36:56
【问题描述】:
我希望在提交/刷新页面后选择下拉选择选项。我搜索其他示例,但没有人使用我的代码。
如何在使用此代码提交/刷新后保留选定的值?
<form name="test" action="test.php?id=<?php echo $row["id"]; ?>" method="post">
<select id="test_email" name="test_email">
<option value="">...select</option>
<?php
$sql2 = "SELECT test_id, test_email FROM test WHERE status='Act'";
$res = $db->query($sql2);
if ($res->num_rows > 0) {
while($row1 = mysqli_fetch_array($res)) {
?>
<option value="<?php echo $row1['test_email'];?>-<?php echo $row1['test_id'];?>"><?php echo $row1['test_id'];?></option>
<?php
}
}
?>
</select>
这样解决:
- 因为我无法通过
$_POST['test_email']和<?php echo $row1['test_email'];?>-<?php echo $row1['test_id'];?> - 因为我在
$_POST['test_email']上使用explode - 我再发一篇帖子(插入数据库)
$test_temp = trim(mysqli_real_escape_string($db, $_POST['test_email']));以在数据库中包含我的下拉值(整个字符串)。 - 我在表单
<input id="test_temp" type="hidden" name="test_temp" value="<?php echo $row["test_temp"]; ?>">中添加了隐藏输入 - 并将选择选项行更改为
<option value="<?php echo $row1['test_email'] . '-' . $row1['test_id']; ?>"<?php if($row1['test_email'] . '-' . $row1['test_id'] == $row['test_temp']) echo ' selected="selected"' ; ?>><?php echo $row1['test_id'];?></option>。
也许这可能更简单,但它就像一个魅力。
@roberto06:感谢您的指导。
【问题讨论】:
-
为什么你不在选项中使用 selected="selected" ?
-
谢谢。我使用它,最后它工作了。 :)
标签: php html explode dropdown selected