php - 如何对日期/时间mysql字段执行循环检查时间值不等于 "00:00"?

标签 php mysql date datetime

我有一个名为“dobs”的 mysql 表,其中有一个名为“dob”的字段,该字段是日期/时间字段。因此该领域的示例可能是:

  • 2010-09-24 01:01:00
  • 2008-09-24 00:00:00(这意味着没有输入时间,只输入了日期。我不允许输入午夜以避免混淆。如果用户尝试输入午夜,则会输入“00:01: 00”)

我需要循环遍历所有字段并检查该字段的任何 TIME 部分是否是“00:00:00”以外的任何内容。

如果其中只有一个有“00:00:00”以外的内容,那么我希望循环停止,因为我现在知道我需要知道什么。

这是我到目前为止所拥有的:

$sql = "SELECT dob FROM dobs";
        $getdobs= mysqli_query($connection, $sql);
        if (!$getdobs) {
        die("Database query failed: " . mysqli_error($connection));
        } else {
           while ($row = mysqli_fetch_array($getdobs)) {
            if (date("H:i", strtotime($row['dob'])!=="00:00") {
                //stop loop and set $times=yes
                $times="yes";
                break;  
            } else {
                //keep looping to look at next one
                $times="no";
            }
           }
}

现在我可以检查 $times 是或否,以做我需要做的进一步事情。上面的代码有效,我只是担心这不是最有效的方法。两个问题:

  1. 我是否使用“break”正确“停止”了循环?
  2. 是否有明显更有效的方法来执行此类检查?

最佳答案

你的代码是正确的。 Break 是停止循环的正确保留字。如果您要在 if 语句不满足时继续循环,您可以删除 else 语句,因为它是无关紧要的,除非它从未找到最后一行中不为 00:00 的日期。希望有帮助。

关于php - 如何对日期/时间mysql字段执行循环检查时间值不等于 "00:00"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462521/

相关文章:

php - mysql一次可以导入多少数据

mysql - 导出/导入 WordPress 数据库以在另一台计算机上重现站点

django - 为 Django DateField 和 Postgresql 指定默认值

sql - 使用带有空值的 TO_DATE 时出现 ORA-01841

PHP 映射器模式,多对多关系

php - 在从 MySQL 导出的 XML 中使用标签

PHP 嵌入 html 图像作为链接

PHPStan 忽略错误正则表达式

带有条件 SELECT 参数的 MySQL 查询 - where 子句中的未知列

shell - linux shell 日期连接