我想用数据库中的列表查询填充html下拉菜单。我有以下......
<?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 :(得分: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>';
答案 1 :(得分:0)
是的,您的假设是正确的,您必须将您的描述用双引号括起来,并将其插入标记中,如下所示:
echo '<option value="' . $row['DESCRIPTION'] . '">'.$row['DESCRIPTION'].'</option>';