所选值从 db 进入下拉选择框选项使用 php mysql 错误

2022-08-31 00:00:50

我需要从db中获取所选值到选择框中。请告诉我怎么做。下面是代码。注意:“选项”值取决于类别。

<?php 
  $sql = "select * from mine where username = '$user' ";
  $res = mysql_query($sql);
  while($list = mysql_fetch_assoc($res)){
    $category = $list['category'];
    $username = $list['username'];
    $options = $list['options'];
?>

<input type="text" name="category" value="<?php echo '$category' ?>" readonly="readonly" />
<select name="course">
   <option value="0">Please Select Option</option>
   <option value="PHP">PHP</option>
   <option value="ASP">ASP</option>
</select>

<?php 
  }
?>

答案 1

我认为您正在寻找以下代码更改:

<select name="course">
<option value="0">Please Select Option</option>
<option value="PHP" <?php if($options=="PHP") echo 'selected="selected"'; ?> >PHP</option>
<option value="ASP" <?php if($options=="ASP") echo 'selected="selected"'; ?> >ASP</option>
</select>

答案 2

我能想到的最简单的方法是:

<?php

$selection = array('PHP', 'ASP');
echo '<select>
      <option value="0">Please Select Option</option>';

foreach ($selection as $selection) {
    $selected = ($options == $selection) ? "selected" : "";
    echo '<option '.$selected.' value="'.$selection.'">'.$selection.'</option>';
}

echo '</select>';

该代码基本上将所有选项放在一个数组中,这些数组在foreach循环中调用。循环检查$options变量是否与它所在的当前选择匹配,如果它是匹配项,则$selected将 = 选中,如果不是,则将其设置为空白。最后,返回包含数组中选择的选项标记,如果该特定选择等于$options变量,则将其设置为所选选项。


推荐