【问题标题】:Issue showing correct reminders in list [duplicate]在列表中显示正确提醒的问题[重复]
【发布时间】:2022-01-04 14:55:55
【问题描述】:

我正在尝试显示仅显示今天日期的列表提醒,并且仅显示今天日期和今天日期之后的任何内容。

这是我目前所拥有的;

<?php
include '../../main.php';
check_loggedin($pdo);
$now = date("Y-m-d h:i:sa");
$stmt = $pdo->prepare('SELECT * FROM care_plan_review where reminder_date > ? order by id desc');
$stmt->execute([$now]);
$allReview = $stmt->fetchAll(PDO::FETCH_ASSOC);

// var_dump($now);
// exit();
?>

【问题讨论】:

  • aY-m-d h:i:sa 后面加上一个ampm 的时间,我不确定MySQL 能应付吗?无论如何,MySQL 确实有自己的NOW() 函数,为什么不使用它呢?如果您不想这样做,请尝试:Y-m-d H:i:sreminder_date 列有什么类型?
  • 我已经从代码中删除了 A。提醒日期的列是reminder_date
  • 请注意,您必须将h 大写才能从 12 小时格式转换为 24 小时格式。我在询问reminder_date 的列类型。诸如 TEXT、VARCHAR 或 DATETIME 之类的内容。

标签: php mysql


【解决方案1】:

要显示只属于今天的记录,您可以使用以下 SQL 查询。

SELECT * FROM care_plan_review where reminder_date = ? order by id desc

这是修改后的代码,

<?php

include '../../main.php';
check_loggedin($pdo);
$now = date("Y-m-d"); // Use only date
$stmt = $pdo->prepare('SELECT * FROM care_plan_review where reminder_date = ? order by id desc');
$stmt->execute([$now]);
$allReview = $stmt->fetchAll(PDO::FETCH_ASSOC);

?>

【讨论】:

  • 到达那里。我认为您还需要在查询中使用DATE(reminder_date),将可能还包含时间的reminder_date 限制为日期。
  • @KIKOSoftware 同意。
猜你喜欢
  • 2021-10-26
  • 1970-01-01
  • 2012-12-24
  • 2021-07-15
  • 1970-01-01
  • 2021-10-18
  • 1970-01-01
  • 2022-08-22
  • 1970-01-01
相关资源
最近更新 更多