выбрать раскрывающееся значение в соответствии с предыдущими значениями отправить новое

0

Я использую следующий код, чтобы выбрать все значение из таблицы БД и поместить его в раскрывающийся список. Вот код:

<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 не добавится новая добавленная стоимость. Но всякий раз, когда я добавляю новое значение, мне нужно обновить код редактирования вручную. Есть ли способ, чтобы выпадающий предыдущий выбор автоматически обновлялся на странице редактирования.

Теги:

2 ответа

0
Лучший ответ

Добавьте условие в ваш цикл, например:

<?php
     while($r=mysqli_fetch_row($res))
        { 
           echo "<option value='$r[0]'";
           if ($r[0] == $r20) echo " selected";
           echo "> $r[0] </option>";
        }
?> 
  • 0
    Не могли бы вы предложить, как выбрать значение, содержащее "'", или как использовать mysqli_real_escape_string в <option value =' $ r [0] '> $ r [0] </ option> или echo "<option value =' $ г [0] "; if ($ r [0] == $ r20) echo "selected"; echo "> $ r [0] </ option>"; stackoverflow.com/users/1094466/rangfu
  • 0
    В этой теме рассказывается, как это сделать: stackoverflow.com/questions/6249151/…
Показать ещё 1 комментарий
0

Если я получу то, что вы хотите (предполагая, что $ 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, как вы это делаете, если у вас более одного пользователя с тем же именем, вы получите только один.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню