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

时间:2017-04-18 02:20:02

标签: php mysql date datetime

我有一个名为" dobs"的mysql表。用#34; dob"这是一个日期/时间字段。那个领域的例子可能是:

  • 2010-09-24 01:01:00
  • 2008-09-24 00:00:00(这意味着没有时间输入,只有一个日期。我不允许午夜避免混淆。如果用户试图进入午夜,它会放入&#34 ; 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";
            }
           }
}

现在我可以检查$次,无论是或否,我都需要做更多的事情。上面的代码有效,我只是担心它不是最有效的方法。两个问题:

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

1 个答案:

答案 0 :(得分:1)

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