php - 嵌套的while循环只输出一行来选择php中的标签
问题描述
我正在使用以下代码在我的页面中检索数据以选择标签
<?php
$approveduser = mysqli_query($conn, "SELECT * FROM users WHERE `status` ='approved' AND `id` != '" . $_SESSION['user_row_id'] . "'");
while ($approvedrow = mysqli_fetch_array($approveduser)) {
//this loops works fine
?>
<tr>
<td class="text-center">
<div class="">
<select id="cat">
<?php
$cityquery = mysqli_query($conn, "SELECT * FROM `cities`");
while ($cityquery = mysqli_fetch_array($cityquery)) {
//this loop has the problem
?>
<option value="<?php echo $cityquery['id']; ?>"><?php echo $cityquery['cityname']; ?></option>
<?php
}
?>
</select>
</div>
</td>
</tr>
<?php
}
?>
当数据库中有更多行时,我的第二个 while 循环仅向 select 标记输出一行。导致这种情况的错误可能是什么。我怎样才能解决这个问题。
解决方案
这个问题是你用行覆盖$cityquery
变量。对行使用单独的变量。
<select id="cat">
<?php
$cityquery = mysqli_query($conn, "SELECT * FROM `cities`");
while ($cityrow = mysqli_fetch_array($cityquery)) {
//this loop has the problem
?>
<option value="<?php echo $cityrow['id']; ?>"><?php echo $cityrow['cityname']; ?></option>
<?php
}
?>
</select>
以上将起作用,但最好将城市放入单个数组中,而不是在循环中获取它们。
推荐阅读
- javascript - 获得同一周的同一天
- mysql - 如何以适当的方式(在 R 中)合并变量 YEAR 和 MONTH?
- database - 本地机器上和 docker 容器内的不同数据库
- python - Mathpix - 图像检索
- c# - .NET Core 与 .NET Framework 中基于 HTTP 的 SOAPAction
- html - 每当(特定)html属性发生变化时,角度调用函数?
- spring-boot - 使用 @RestClientTest 排除 @SpringBootApplication 类进行单元测试
- javascript - 如何将此子组件的状态传递给父组件?
- python - 验证进入 python 烧瓶应用程序的 JSON 发布请求
- python - 特定半径内的兴趣点