2013-03-26 208 views
0

我想用數據庫中的列表查詢填充html下拉菜單。我有以下...PHP和OCI,填充下拉菜單

<?php 
$conn = oci_connect(//connection stuff goes here//); 
$stid = oci_parse($conn, "SELECT DESCRIPTION FROM COUNTRY WHERE COUNTRY_ID IS NOT NULL"); 

$result = oci_execute($stid, OCI_DEFAULT); 



echo '<select>'; 

while ($row = oci_fetch_array($result)) { 
echo '<option value=' . $row['DESCRIPTION'] . '</option>'; 
} 
echo '</select>'; 

?> 

東西與回聲線上的qoute標記?這裏任何幫助將是巨大的:)

回答

0

是的,你的假設是正確的,你必須附上說明在雙引號,也將其插入標籤裏面,像這樣:

echo '<option value="' . $row['DESCRIPTION'] . '">'.$row['DESCRIPTION'].'</option>'; 
+1

您需要使用'用htmlspecialchars()'插入任意的字符串時轉換爲HTML。 – Brad 2013-03-26 17:56:52

+0

謝謝,但仍然沒有運氣。出現下拉菜單,但沒有填充任何行。也許我的查詢出錯了? – user1214840 2013-03-26 18:01:55

1

這個問題有什麼與Oracle合作。與此

echo '<option value=' . $row['DESCRIPTION'] . '</option>'; 

...:只需更換這

echo '<option>' . htmlspecialchars($row['DESCRIPTION']) . '</option>'; 

您已基本產生這樣的:

<option value=Blah Blah Blah</option> 

編輯:你忘了COUNTRY_ID!將它添加到SELECT聲明並使用它:

echo '<option value="' . htmlspecialchars($row['COUNTRY_ID']) . '">' . htmlspecialchars($row['DESCRIPTION']) . '</option>'; 
+0

對不起,但這並沒有解決它:(PHP返回沒有錯誤,但渲染下拉不填充選項:/ – user1214840 2013-03-26 18:14:16

+0

@ user1214840 - 這是我們不能爲你做的基本調試。熟悉[var_dump()](http ://php.net/var_dump),[print_r()](http://php.net/print_r)和瀏覽器的「View Source」菜單項。 – 2013-03-27 08:09:07