仅返回日期超过7天的行

时间:2019-03-10 23:38:45

标签: date mysqli where

请给我一些帮助。

我试图仅返回mysql表中的行,其中今天的日期和“ next_due”之间的差为7天或更多。到目前为止,我的代码是...

  $stmt = $conn->prepare("SELECT * FROM activities WHERE userId = ? AND status = ? ");
  $stmt->bind_param("ss", $userId, $status);
  $stmt->execute();
  $result = $stmt->get_result();
    if($result->num_rows === 0) echo "zero";
    else {
        while($row = mysqli_fetch_array($result)) {
          $activity_id          =   $row['id'];
          $title                =   $row['title'];
          $next_due             =   $row['next_due'];

          $next_due = strtotime($next_due);
          $next_due = date("d/m/Y", $next_due);
        }
      }

这将返回$ status设置为“打开”的所有行,但是我只想返回今天的日期和在“ next_due”中输入的日期之间的差异大于7天的那些行。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以研究有关名为datediff()的mysql函数的信息。它以天为单位返回两个日期之间的差。

https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_datediff