我可能会忽视某些内容,但这是我编写的代码,用于打印HTML select标记的内容。
<form action="submit.php" method="post">
<select name="List" id="List">
<?php PopulateBox(); ?>
</select>
</form>
然后在我的PHP文件中:
function PopulateBox()
{
//MySQL connection stuff up here
$result = mysqli_query($con, "SELECT ItemNo FROM Items");
while($row = mysqli_fetch_array($result))
{
echo "<option value=\"" . $row['ItemNo'] . ">" . $row['ItemNo'] . "</option>";
}
}
此表中目前有10个项目,但输出仅在HTML选择框中生成5个项目。
为什么会这样?
编辑:我在print_r时看到了这个:
mysqli_result Object
(
[current_field] => 0
[field_count] => 1
[lengths] =>
[num_rows] => 10
[type] => 0
)
答案 0 :(得分:2)
echo "<option value=\"" . $row['ItemNo'] . ">" . $row['ItemNo'] . "</option>";
从这一行开始,HTML输出中缺少一个结束引号。也许这会奏效:
echo "<option value=\"" . $row['ItemNo'] . "\">" . $row['ItemNo'] . "</option>";