0

php で db の値に基づいてオプションを選択するにはどうすればよいですか。

<select>
  <option value="1">Val1</option>
  <option value="2">Val2</option>
  <option value="3">Val3</option>
  <option value="4">Val4</option>
  <option value="5">Val5</option>
</select> 

value=3 変更の場合

<option value="3" selected="selected">Val3</option>

php&mysqlでこれを行うにはどうすればよいですか?

4

4 に答える 4

3

あなたは次のようなものが必要です

<?
   $values = array(); // array from DB
   $selectedKey = 10; // some key
?>
<select>
   <? foreach ($values as $key => $value) { ?>
      <option value="<?=$key?>" <?= $key==$selectedKey ? 'selected' : ''?>> <?=$value?> </option>
   <? } ?>
</select>
于 2012-11-11T19:00:18.643 に答える
2

お役に立てれば

<select>
    <?php
    $value = 3; // Desired Value
    $sql ='' ;// sql to get values from mysql
    $res = mysql_query($sql);
    while($row=mysql_fetch_array($res))
    {?>
     <option value="<?php echo $row['id'];?>" <?phh if($row['id']==$value)echo "selected='selected'"  ; ?> ><?php echo $row['name']; ?></option>
    <?php }
    ?>
</select>
于 2012-11-11T19:13:07.460 に答える
0

可能な値を出力するループで、各値をDBから取得した値と比較します。それらが一致する場合は、selected属性を追加します。

于 2012-11-11T18:58:56.143 に答える
0

最初に select タグに名前を付けます。

     <名前を選択="名前">

mysql_query を介してテーブルの行を $row_set 配列
に取得します 検索する値が $search であるとします

while($row = mysql_fetch_array($row_set))
if($row['column_name']==$search) echo "<option value='{$row['value']}' selected='selected'>{$row['name']}</option> ";

于 2012-11-11T19:24:55.317 に答える