2013-03-11 33 views
0

所以我做了这个汽车统计计算模块,它在做了一些计算后返回来显示结果,然后显示我的计算出的汽车作为我的表单中的预选。从循环中预先选择

为此,我提出在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语句:/

返回:

<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> 
+6

您还没有提问。 – Jon 2013-03-11 13:25:35

+2

有什么需要帮助的吗?代码看起来不错,除了'$ result'不在使用它的函数的范围之内。 – 2013-03-11 13:26:28

+0

尝试<?php biler(); ?>相反(如果是你的问题) – Voitcus 2013-03-11 13:27:40

回答

3

你需要使用它,否则它总是会包含值后清除$选择变量:

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

谢谢!我一直坐在这里1小时:) – Terning 2013-03-11 13:34:22

+0

没问题:-)发生在我们身上。 – 2013-03-11 14:12:47

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>'; 
     } 
    }