2012-07-20 130 views
0

这是我在编辑页面中的多项选择下拉框。这里的问题是,这只显示一个选定的项目。它不显示所有选中的项目。我怎样才能纠正这一点?如何在多个选择框中显示选定的项目

<?php 
     $query="SELECT * FROM lab"; 
     $dropdown = "<select name='labid[]' multiple='multiple' style='height:80px;' size='5' id='lab'>"; 
     //$dropdown .= "<option value=''>Select lab to assign </option>"; 
     $result2 = mysql_query ($query); 
     while($row2 = mysql_fetch_assoc($result2)) 
     { 

    $dropdown .= "\r\n<option value='{$row2['lab_id']}'"; 
      while($row1 = mysql_fetch_assoc($result1)) 
       { 
       if(($row1['lab_id'])==($row2['lab_id'])) 
        { 
         $dropdown .=" selected='selected'"; 
        } 
      } 
    $dropdown .= ">{$row2['l_name']}</option>"; 
     } 
     $dropdown .= "\r\n</select>"; 
     echo $dropdown; 
     ?> 
+0

我认为这是不选择甚至一件物品。对? – manurajhada 2012-07-20 07:12:19

+0

没有它只选择第一项(以db为单位) – viddz 2012-07-20 07:19:00

+0

你应该'echo'$ row1 ['lab_id'],$ row2 ['lab_id']'并检查它们的值以进行确认。 – manurajhada 2012-07-20 07:27:21

回答

0

尝试改变while循环到foreach循环中。

变化

while($row2 = mysql_fetch_assoc($result2)) 

foreach(mysql_fetch_assoc($result2) as $row2) 

while($row1 = mysql_fetch_assoc($result1)) 

foreach(mysql_fetch_assoc($result1) as $row1) 
+0

:)似乎这是一个很好的方法。但为foreach()提供的无效参数在第二个foreach循环中发生。 {while($ row1 = mysql_fetch_assoc($ result1))} – viddz 2012-07-20 09:04:05

+0

@viddz:该错误可能是由于未声明$ result1导致的。您必须在代码段中声明$ result1。 – 2012-07-20 09:15:13

相关问题