0

我想用来自数据库的列表查询填充一个 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 标记有关吗?这里的任何帮助都会很棒:)

4

2 回答 2

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>';
于 2013-03-26T17:52:22.673 回答
0

Yes, your assumption was right, you have to enclose your description in double quotes and also insert it inside the tags, like this:

echo '<option value="' . $row['DESCRIPTION'] . '">'.$row['DESCRIPTION'].'</option>';
于 2013-03-26T17:48:07.883 回答