gpt4 book ai didi

php - 在一个 while 循环中,检查是否有某些指定列 int 不高于 0 的行

转载 作者:行者123 更新时间:2023-11-29 02:29:12 27 4
gpt4 key购买 nike

解释与问题

好的,我们的表中有以下列,

[用户名] - [消息] - [状态] - [id]

在某些指定的 PHP 页面中,我们使用 while 循环来发布存储在数据库中的所有行。

好的,但现在我想检查该表中是否有任何行,如果没有,则回显错误。

没关系,就这么简单:

$check = $fetch->rowCount();

然后

if ($check == 0) { }

但是现在,我想检查“状态”列是否为 0。

因此,如果没有“status”列的值为 0 的行,它将回显一条消息。如果根本没有行,它将回显一条消息。

如果“status”列的行值为 0,它将回显所有行。

但这样做至少对我来说存在一些问题。

问题

我无法在循环内执行所有 IF 语句检查,因为如果没有行,循环将无法运行。

但是没关系,我们可以检查循环外是否有行,但是我如何检查是否有行+它们的状态列的值不高于“0”?

I got it to work somehow, but not like I wanted..

If there are rows with column 'status' with value 0 + rows with column status with value higher than 0 at same time, it will echo the message + show the rows, which shouldn't work like this!

这是我尝试构建的代码:

        $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!';
}
}

感谢您的帮助!

最佳答案

但是现在,我想检查“Status”列是否为 0。
因此,如果没有“status”列的值为 0 的行,它将回显一条消息。如果根本没有行,它将回显一条消息。
如果有列“status”的行值为 0,它将回显所有行。

为什么不在 WHERE 子句中将该条件发送到数据库

SELECT username,message,status,id FROM yourTABLE where status=0

所以当有这样的行时,它会显示它们。如果没有这样的行,那么您的行数将为 0,然后您可以相应地回显消息

提示

从一个表中获取所有行,然后将它们带到 PHP 中,只是为了丢弃其中的大部分就像去水果店购买所有可用的水果,把它们带回家然后说呃不,我不需要橙子,苹果、杏子等等等等。您必须将条件发送到您的数据库,而不是在没有任何条件的情况下携带所有数据,然后将条件放入 PHP。

关于php - 在一个 while 循环中,检查是否有某些指定列 int 不高于 0 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15736631/

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