0

如何根据 db 和 php 的值选择选项。例如;

<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

在打印出可能值的循环中,将每个值与从数据库获取的值进行比较。如果它们匹配,则添加selected属性。

于 2012-11-11T18:58:56.143 回答
0

首先给选择标签一个名字。

     <选择名称=“名称”>

通过 mysql_query 获取表行到 $row_set 数组
如果说要搜索的值是 $search

而($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 回答