Я использую следующий код, чтобы выбрать все значение из таблицы БД и поместить его в раскрывающийся список. Вот код:
<select name="dis_name">
<?php
$qu="Select DISTINCT name from root";
$res=mysqli_query($con,$qu);
while($r=mysqli_fetch_row($res))
{
echo "<option value='$r[0]'> $r[0] </option>";
}
?>
На основе предыдущего кода выбирается и отправляется значение. Я хочу показать ранее выбранное значение в раскрывающемся списке на другой странице, поэтому я использую следующий код:
<select name="dis_name">
<option value="RAM"<?php echo $r20 == "RAM" ? " selected" : ""; ?>>RAM</option>
<option value="ROHAN"<?php echo $r20 == "ROHAN" ? " selected" : ""; ?>>ROHAN</option>
</select>
Этот код работает нормально, пока в таблице DB не добавится новая добавленная стоимость. Но всякий раз, когда я добавляю новое значение, мне нужно обновить код редактирования вручную. Есть ли способ, чтобы выпадающий предыдущий выбор автоматически обновлялся на странице редактирования.
Добавьте условие в ваш цикл, например:
<?php
while($r=mysqli_fetch_row($res))
{
echo "<option value='$r[0]'";
if ($r[0] == $r20) echo " selected";
echo "> $r[0] </option>";
}
?>
Если я получу то, что вы хотите (предполагая, что $ r20 является ранее выбранным значением:
<?php
$qu="Select DISTINCT name from root";
$res=mysqli_query($con,$qu);
while($r=mysqli_fetch_row($res))
{
echo "<option value='$r[0]'";
if($r[0]==$r20){echo 'selected="selected"';}
echo "> $r[0] </option>";
}
?>
таким образом, выбор будет отображать как выбранный параметр, который соответствует динамическому значению $ r20.
BTW, вы должны использовать id в своем коде. Таким образом, вы также можете иметь более одного пользователя с тем же именем (но с другим ID). С DISTINCT, как вы это делаете, если у вас более одного пользователя с тем же именем, вы получите только один.