从循环中预先选择

时间:2013-03-11 13:24:16

标签: php select option

所以我做了这个汽车统计计算模块,经过一些计算后返回显示结果然后显示我已经计算出的车作为我表格中的预选。

为此我在php中创建了一个函数,我可以在我的html中使用:

function biler () {                         
    while($row = mysql_fetch_array($result)) {
       if ($row['reg'] == $_GET['bil']){
           $selected = 'selected="selected"';
       }                    
       echo '<option '.$selected.' value="'.$row['reg'].'">'.$row['reg'].'</option>';
    }
}

运行函数的HTML:

<form method="post" name="regnskab" action="regnskab_beregn.php">
   <select name="bil"><? biler(); ?></select>
</form>

我的问题是没有选择汽车,因为它们都有选择语句:/

返回:

<select name="bil">
  <option selected="selected" value="OHO1241">OHO1241</option>
  <option selected="selected" value="QTX2314">QTX2314</option>
  <option selected="selected" value="QW20301">QW20301</option>
</select>

2 个答案:

答案 0 :(得分:3)

使用后需要清除 $ selected 变量,否则它将始终包含该值:

while($row = mysql_fetch_array($result)) {
   $selected = "";
   if ($row['reg'] == $_GET['bil']){
       $selected = 'selected="selected"';
   }                    
   echo '<option '.$selected.' value="'.$row['reg'].'">'.$row['reg'].'</option>';
}

答案 1 :(得分:0)

设置$selected后,它仍然存在。 My example

    function biler () {                         
        while($row = mysql_fetch_array($result)) {
           if ($row['reg'] == $_GET['bil']){
               $selected = 'selected="selected"';
           }          
           else
           {
               $selected = "";
           }          
           echo '<option '.$selected.' value="'.$row['reg'].'">'.$row['reg'].'</option>';
        }
    }