отображение из базы данных в раскрывающийся список - PullRequest
1 голос
/ 05 июля 2011

Я сохранил значение из выпадающего списка в базе данных. Я хочу повторить то же значение, которое будет отображаться в этом выпадающем списке в моей форме редактирования. Как я могу добиться этого в PHP?

Region
<select name="stf_region">
<option>Select</option>
<option value="1">MDU</option>
<option value="2">TMM</option>
</select>

Я сохранил в базе данных, используя значение выбора но я не знаю, чтобы отобразить это значение в том же раскрывающемся списке

Ответы [ 6 ]

1 голос
/ 05 июля 2011

Ну, вы могли бы сделать это

   $query = "select id, label from lookup_table";
   $result = mysql_query($query);
   $html = "<select name='yourname'><option value="">Please select...</option>";
   while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $html .= "<option value='$row[id]'>$row[label]</option>";
   }
   $html = "</select>";
   echo ($html);//Display the select in the page
1 голос
/ 05 июля 2011

Используйте что-то вроде этого:

       <?
         $sql = "SELECT id, description FROM dropDownTable";
         $rs = mysql_query($sql);
       ?>
       <select name="dropDown">
         <option value="-1">Please select...</option>
       <? while ($obj = mysql_fetch_object($rs)) { ?>
         <option value="<?= $obj->id; ?>" <? if ($data['downDown'] == $obj->id) echo "SELECTED"; ?>>
           <?= $obj->description; ?>
         </option>
       <? } ?>
       </select>

Обратите внимание, $data необходимо установить как ассоциативный массив, содержащий атрибуты редактируемой сущности. Этот код является гибким , потому что в случае формы, в которой пользователь мог отправить неполную форму, $data можно установить в переменную $_POST, и поэтому все введенные поля могут быть включены без необходимости пользователя для повторного указания полей, которые они ранее заполнили. Это в основном означает, что ваш шаблон формы, вставка записи и редактирование записи могут быть одинаковыми!

0 голосов
/ 07 августа 2018
<div class="form-group has-success col-md-6">
    <label class="control-label" for="state-success">Select Buyer</label>
 <select id="state-success" class="form-control ">
         <?php
   $sql="SELECT full_name FROM `new_customer`";
    $data=mysqli_query($dbcon,$sql);
    ?>
       <option>Select byer...</option>
   <?php while($row1=mysqli_fetch_array($data)){?>
       <option value="<?php echo $row1['full_name'];?>"><?php echo $row1['full_name'];?></option>
        <?php } ?> 
     </select>
0 голосов
/ 05 июля 2011

Если вы согласны с выбором значения из базы данных в переменную PHP (скажем, $ region), я думаю, что вы сразу после

Region
<select name="stf_region">
<option>Select</option>
<option value="1"<?php echo ($region == '1') ? ' selected="selected"' : ''; ?>>MDU</option>
<option value="2"<?php echo ($region == '2') ? ' selected="selected"' : ''; ?>>TMM</option>
</select>

Это самый краткий ответ на вопрос, которыйЯ думаю, что вы спрашиваете.Однако это очень конкретный ответ, и предполагается, что ваши значения раскрывающегося списка жестко запрограммированы и не будут действительно изменяться.

Если вы хотите более гибкую настройку, которая извлекает значения раскрывающегося списка из базы данных, в которой вы находитесьища что-то более похожее на то, что было предложено Гордоном Мюрреем Дентом выше

0 голосов
/ 05 июля 2011

Я использовал COOKIE, чтобы соответствовать значению, которое должно быть выбрано, когда дело доходит до редактирования формы.

  <?php
    while($result_row=mysql_fetch_array($result)){
    if ( $_COOKIE['MY_COOKIE'] == $result_row[importance_level_id )
    {
    echo "<option SELECTED=\"SELECTED\" value=$result_row[importance_level_id]>$result_row[importance_level]</option>";
    }
    else
    {
    echo "<option value=$result_row[importance_level_id]>$result_row[importance_level]</option>";
    }
    ?> 
0 голосов
/ 05 июля 2011

Если вы можете получить данные из базы данных в массив, вы можете работать с ними так:

<?php
$options = array('label 1' => 'value 1', 'label 2' => 'value 2');
echo "<select name=somename>";
foreach($options as $key => $value){
    echo "<option value=" . $value . ">" . $key . "</option>";
}
echo "</select>";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...