2012-07-20 131 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

相關問題