2013-03-26 170 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