我使用mysqli查询数据库表以获取下拉列表的值。但是,我还想检索相应的描述并将其加载到选项文本中。我的查询如下:
<?php
$query=('SELECT restaurantid,location from restaurant');
$result = mysqli_query($mysqli,$query);
echo '<select name="ddlStore">';
while($row=$mysqli->fetch_array($result))
{
echo '<option value="' . htmlspecialchars($row['restaurantid']) . '">';
'</option>';
}
echo '</select>';
?>
如何修改上述内容,以便在下拉列表的选项文本中填充位置字段?
更新的代码:
<?php
$query=('SELECT restaurantid,location from restaurant');
$result = mysqli_query($mysqli,$query);
echo '<select name="ddlStore">';
while($row=$mysqli->fetch_array($result))
{
echo '<option value="' . htmlspecialchars($row['restaurantid']) . '">' .
htmlspecialchars($row['location']) .
'</option>';
}
echo '</select>';
?>
上述内容仍然不会将位置显示为下拉列表选项文本值。
更新#2: 查看页面时,下拉列表不显示数据库表中的值。使用IE Developer Tools,我在while语句中看到了一个脚本错误:
Call to undefined method mysqli::fetch_array()
是否有更好的方法来构造mysqli_fetch_array语句?
答案 0 :(得分:0)
echo '<option value="' . htmlspecialchars($row['restaurantid']) . '">' . htmlspecialchars($row['location']) . '</option>';
但到目前为止你尝试了什么?
答案 1 :(得分:0)
更改为...
echo '<option value="' . htmlspecialchars($row['restaurantid']) . '">' . htmlspecialchars($row['location']) . '</option>';
答案 2 :(得分:-1)
尝试这种方式(more info here)
$result = $mysqli->query($query)
while($row = $result->fetch_assoc()) {
}