gpt4 book ai didi

php - 当检查数据库中的某些内容时

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

我想检查数据库中是否有一个小时,但如果数据库中有一个多小时,它会输出两次,如果我有 3 次,则输出 3 次...

在这种特定情况下,这给了我:9(蓝色),然后是 9(红色)

$result = mysqli_query($con, 'SELECT * FROM consulta
WHERE professional=1
AND client=0');

while ($row = mysqli_fetch_array($result)) {

if ($row['hora']=='09:00:00') { echo '<p class="blue">9</p>'; }
else { echo '<p class="red">9</p>'; }

}

我有一个 MySql 数据库,其中包含以下列:id、专业和时间。我已经存储了 2 小时,这就是如果我 echo $row['hora'] 09:00:00 and 10:00:00 时得到的结果

在这种情况下,if 应该只给我蓝色的 9,因为它在数据库中。我不明白为什么会这样。我该如何解决这个问题?

这是MySql数据库的结构: enter image description here

最佳答案

大概您正在构建日历或类似内容。

您正在使用的查询将返回所有行(并且您将循环遍历每一行,无论时间如何)。如果您想检查是否存在特定时间,您可以构建一个时间数组:

$result = mysqli_query($con, 'SELECT * FROM consulta
WHERE professional=1
AND client=0');
$hours = array();
while ($row = mysqli_fetch_array($result)) {
$hours[$row['hora']] = $row;
}

现在检查我们可以做的具体时间:

if (!empty($hours['09:00:00'])) { 
echo '<p class="blue">9</p>';
}else {
echo '<p class="red">9</p>';
}

编辑:说明

在第一个循环中,我们正在构建一个数组。这看起来像:

$hours = array(
'08:00:00' => $dataForThisRow,
'09:00:00' => $dataForThisRow
);

上面的'08:00:00'被称为key。每个键都是在数据库中找到的时间。

要检查数据库中是否有当前的条目,我们可以检查是否有非空键。因此我们使用:

if(!empty($hours['09:00:00'])

如果 $hours 有一个值为 '09:00:00'key,则此 if 将运行>。如果没有键,则 if 的其他部分将运行。

关于php - 当检查数据库中的某些内容时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22228809/

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