说明与问题
好的,我们的表中有以下列,
[用户名] - [消息] - [状态] - [id]
在某些指定的 PHP 页面中,我们使用 while 循环来发布存储在数据库中的所有行。
好的,但是现在我想检查该表中是否有任何行,如果没有,则回显错误。
没关系,就这么简单:
$check = $fetch->rowCount();
进而
if ($check == 0) { }
但是现在,我想检查“状态”列是否为 0。
因此,如果没有列 'status' 值为 0 的行,它将回显一条消息。如果根本没有行,它将回显一条消息。
如果存在列 'status' 值为 0 的行,它将回显所有行。
但至少对我来说有一些问题,这样做。
问题
我不能在循环内执行所有 IF 语句检查,因为如果没有行,循环就无法运行。
但是好的,我们可以检查循环之外是否有行,但是我如何检查是否有行+它们的状态列的值是否高于“0”?
我让它以某种方式工作,但不像我想要的那样..
如果同时存在列'status'值为0的行+列status值大于0的行,它将回显消息+显示行,这不应该像这样工作!
这是我尝试构建的代码:
$check = $fetch->rowCount();
if ($check == 0) {
echo '<br /> EMPTY';
}
while($row = $fetch->fetch( PDO::FETCH_ASSOC )) {
if ($check > 0 && $row['status'] == 0) {
echo
'<div class="background">'.$row['email'].' <span style="margin-left: 10px;"><font color="#ff0000">UNANSWERED</font></span><span id="right"><a href="index.php?recover='.$row['recover_id'].'">Read More</a></span></div><br />
';
} else {
echo 'There are no rows!';
}
}
感谢您的帮助!