Я хочу иметь выпадающий выбранный вариант, выбранный после отправки/обновления страницы. Я ищу другие примеры, но никто не работает над моим кодом.Как сохранить выпадающий выбранный параметр после отправки/обновления страницы
Как сохранить выбранное значение после отправки/обновления с помощью этого кода?
<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'];?>
- Поскольку я использую
explode
на$_POST['test_email']
- я сделать еще один пост (вставка в дб)
$test_temp = trim(mysqli_real_escape_string($db, $_POST['test_email']));
чтобы иметь значение dropdown (целая строка) в db. - Я добавил скрытый ввод в мою форму
<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: Благодарим вас за руководство.
почему вы не используете выбранный = «выбрано» в варианте? – Rohit
Спасибо. Я использую его, и, наконец, он работает. :) – Falcon