gpt4 book ai didi

php - 为什么 mysqli_fetch_row 阻止显示我的所有结果?

转载 作者:行者123 更新时间:2023-11-29 20:56:52 25 4
gpt4 key购买 nike

我正在制作一个调查跟踪网站,但遇到了麻烦。我想显示过去 7 天内完成的所有调查。我正在使用 mysqli_fetch_row 来查看是否检索到任何行,以及是否显示它们。如果他们在过去 7 天内没有任何强制调查,我希望它显示“没有最近可显示的强制调查”字样。

<?php
require('db/connect.php');
if (!isset($_GET['sort'])) {
$sort = 'client_id';
} else {
$sort = $_GET['sort'];
}
if ($result = $db->query("SELECT client_id, date_added, client, email, date_sent, date_completed FROM clients NATURAL JOIN surveys WHERE date_completed BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE() ORDER BY $sort")) {//shows surveys completed in the last 7 days
if (mysqli_fetch_row($result) == 0) {
echo "No recently completed surveys to show.";
} else {
echo "<table>";
echo "<tr><th><a href='portal.php?sort=client_id'>ID</a></th><th><a href='portal.php?sort=date_added'>Date Added</a></th><th><a href='portal.php?sort=client'>Client</a></th><th><a href='portal.php?sort=email'>Email</a></th><th><a href='portal.php?sort=date_sent'>Sent</a></th><th><a href='portal.php?sort=date_completed'>Completed</a></th>";
$rows = $result->num_rows;
for ($num = 0; $num < $rows; ++$num) {
$row = $result->fetch_array(MYSQLI_NUM);
$client_id = $row[0];
$date = $row[1];
$client = $row[2];
$email = $row[3];
$sent = $row[4];
$completed = $row[5];
echo "<tr>";
echo "<td>$client_id</td>";
echo "<td>$date</td>";
echo "<td>$client</td>";
echo "<td>$email</td>";
echo "<td>$sent</td>";
echo "<td><a href='survey/completed/index.php?id=$client_id'>$completed</a></td>";
echo "</tr>";
}
echo "</table>";
}
}
?>

当我删除 mysqli_fetch_row 的 if 子句时,它会显示所有最近完成的调查,但如果我保留它,它总是会留下一个。有人可以帮忙吗?

最佳答案

在进行测试时,您将丢弃第一个。您可以像这样获取行数:

if ($result->num_rows == 0) {
echo "No recently completed surveys to show.";
} else {
// ....
}

文档:mysqli_result::$num_rows

关于php - 为什么 mysqli_fetch_row 阻止显示我的所有结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37556674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com