php - 为什么我的 php 代码没有从数据库中获取多行
问题描述
这是我的 php 代码一次无法获取多行......正如我在互联网上看到的那样,这些函数根据 php 的版本是正确的。
<?php
require'db_conn.php';
$q1 = "select * from contact";
$res = mysqli_query($conn,$q1);
echo "
<table class='table'>
<thead class='thead-dark'>
<tr>
<th scope='col'>#</th>
<th scope='col'>id</th>
<th scope='col'>Address</th>
<th scope='col'>City</th>
<th scope='col'>Country</th>
<th scope='col'>State</th>
<th scope='col'>Zip</th>
<th scope='col'>Phone</th>
<th scope='col'>#</th>
</tr>
</thead>";
while ($row = mysqli_fetch_assoc($res))
{
$id = $row["id"];
$address = $row["address"];
$city = $row["city"];
$country = $row["country"];
$state = $row["state"];
$zip = $row["zip"];
$phone = $row["phone"];
}
echo "
<tbody>
<tr>
<td> <input type='checkbox' name=''> </td>
<td>$id</td>
<td>$address</td>
<td>$city</td>
<td>$country</td>
<td>$state</td>
<td>$zip</td>
<td>$phone</td>
</tr>
</tbody>
</table>";
?>
这是包含多行的图像,但是此代码仅获取单行
解决方案
正在返回行,您只是因为逻辑错误而没有全部显示它们 - 您echo
是在while
循环结束之后,因此它只能访问循环创建的最后一组数据,并且只运行一次. 所有其他变量都已创建,但在下次循环运行时被覆盖,没有被用于任何事情。
简单地移动在<tr>
循环内回显的位,以便它重复运行 - 每行一次。显然,您需要在循环结束后将与表的结束标签相呼应的位分开,并将循环的开始放在tbody
循环之前。
echo "<tbody>";
while ($row = mysqli_fetch_assoc($res))
{
$id = $row["id"];
$address = $row["address"];
$city = $row["city"];
$country = $row["country"];
$state = $row["state"];
$zip = $row["zip"];
$phone = $row["phone"];
echo "
<tr>
<td> <input type='checkbox' name=''> </td>
<td>$id</td>
<td>$address</td>
<td>$city</td>
<td>$country</td>
<td>$state</td>
<td>$zip</td>
<td>$phone</td>
</tr>";
}
echo "</tbody>
</table>";
推荐阅读
- django - 在 Django Admin Detail 视图中显示 ManyToManyField
- python - 如何打开任何文本文件以在我用 python 制作的文本编辑器中打开,只需双击?
- fortran - 发送/接收 MPI 对的奇怪事件
- python - 使用 apis rest 框架在产品中设置类别
- algorithm - 原生字符串搜索算法的最佳时间复杂度
- mongodb - 在 React 应用程序中使用 MongoDb Realm 身份验证
- c# - Unity LineRenderer.GetPositions 未按预期工作
- python - Tkinter窗口到pdf
- python - 将数据从 I2C 传感器发送到本地 SQL 数据库的 Python 代码
- excel - 在Visual Basic中从位置到结尾删除字符串的一部分