在下拉框中设置所选选项

时间:2014-02-11 11:49:20

标签: php mysql select

我的SELECT如下所示:

<?php  
$query = "SELECT * FROM Rec_SW2_Rel AS a JOIN SW2 b ON a.Sbj_ID = b.IDsbj GROUP BY a.Sbj_ID ORDER BY b.Descriptor";
 $result = mysql_query($query);  
?>
<select name="country" onchange="getState(this.value)">
    <?php
     while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
     {
    ?>
<option value="<?php echo $line['Sbj_ID']; ?>"> 
<?php echo $line['Descriptor']; ?> 
</option>
<?php
}
mysql_close();
?>
</select>

查询数据库并设置下拉列表。问题是首先列出的值不会自动选中。如果用户想要使用它,为了进一步导航,他们必须先选择另一个,然后再次选择第一个。

我无法更改数据库中的值。如果我插入selected='selected',它将返回结果集的最后一个值,但始终未被选中。

2 个答案:

答案 0 :(得分:0)

您可以针对$ line [&#39; Sbj_ID&#39;]进行测试,如果这是=您默认所需的值

 <?php  
$query = "SELECT * FROM Rec_SW2_Rel AS a JOIN SW2 b ON a.Sbj_ID = b.IDsbj GROUP BY a.Sbj_ID ORDER BY b.Descriptor";
 $result = mysql_query($query);  
?>
<select name="country" onchange="getState(this.value)">
    <?php

     while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
     {
 ?>
<option value="<?php echo $line['Sbj_ID']; ?>" <?php if($line['Sbj_ID']==value_you_want_selected){?>selected<?php } ?>> 
<?php echo $line['Descriptor']; ?> 
</option>
<?php
$i++; }
mysql_close();
?>

答案 1 :(得分:0)

你可能想要这个吗?加载表单时首先选择的选项为空白。

<select name="country" onchange="getState(this.value)">
<option value=""></option>
<?php
 while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
 {

或从数据库中选择所选数据?值selected的{​​{1}}列。

selected