2013-04-08 121 views
0

我試圖用MySQL查詢的結果填充HTML下拉菜單。查詢運行正常,不會引發任何錯誤,但由於某些奇怪的原因,結果無法正確顯示。使用MySQL查詢結果填充下拉HTML菜單

<?php 
    $query = "SELECT * FROM parts WHERE itemName LIKE 'Processors:%'"; 
    $result = mysql_query($query) or die("Unable to query CPU parts"); 
    while($row=mysql_fetch_array($result)) { 
     $option .= "<option value='{$row['itemName']}'></option>"; 
     } 
?> 
    <select name="cpu"><? echo $option; ?></select> 

我敢肯定它位於$option .= ... ;的地方,但它,我似乎無法弄清楚。

+0

它應該是這樣的.. $ option。=「」; – 2013-04-08 06:43:35

回答

1

不打印的價值在下拉列表中顯示

試試這個

while($row=mysql_fetch_array($result)) { 
    $option .= "<option value='{$row['itemName']}'>{$row['itemName']}</option>"; 
    } 

我看到你在這裏使用短標籤

<select name="cpu"><? echo $option; ?></select> 

請確保您有短標記在php.ini中啓用

-1

忘記了最簡單的部分:

$ aa。=「{$ row ['itemName']}」;

我需要添加實際的標籤選項標籤:)

0

兩件事情之間顯示:

需要初始化$選項,並打印的價值在下拉列表中顯示

<?php 
$query = "SELECT * FROM parts WHERE itemName LIKE 'Processors:%'"; 
$result = mysql_query($query) or die("Unable to query CPU parts"); 
$option = ""; 
while($row=mysql_fetch_array($result)) { 
    $option .= "<option value='{$row['itemName']}'>{$row['itemName']}</option>"; 

} 
?> 

<select name="cpu"><? echo $option; ?></select> 
+0

我以爲PHP不需要在使用前聲明一個變量? – mikedugan 2013-04-08 06:47:52

+0

在這種情況下,是的,因爲當你做$ foo。=「value」時,你正在做$ foo = $ foo +「value」;如果未聲明$ foo,則會顯示通知錯誤 – Sangar82 2013-04-08 06:52:27

0

似乎你忘了在​​3210字段內添加一個值,你只能設置取值$_POST[]的值,但不能查看。 :d

也看到$option變量要連接似乎你已經宣佈它的第一 如果不是你需要大概宣佈它first.cause這可能會導致錯誤未定義的變量。

<?php 
    $query = "SELECT * FROM parts WHERE itemName LIKE 'Processors:%'"; 
    $result = mysql_query($query) or die("Unable to query CPU parts"); 
    $option = ''; 
    while($row=mysql_fetch_array($result)) { 
     $option .= '<option value='.$row['itemName'].'>'. $row['itemName'].'</option>'; 
     } 
?> 
    <select name="cpu"><?php echo $option; ?></select>