You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP开发问题:实现仅展示当日提醒列表时日期过滤结果异常

问题原因

  • SQL查询条件错误:当前使用的reminder_date > ?逻辑是匹配大于传入时间的所有记录,自然会返回当日及之后的所有提醒,不符合仅展示当日提醒的需求。
  • 时间格式匹配问题:当前生成的$now是带12小时制时分秒、上下午标识的格式,如果你的reminder_date字段为DATE类型(仅存储年月日),格式不匹配会导致查询结果异常。

修复方案

方案1:适用于reminder_date为DATE类型(仅存年月日)

直接修改查询条件为匹配当日日期即可,代码如下:

<?php
include '../../main.php';
check_loggedin($pdo);
// 仅生成当日年月日格式,和DATE字段匹配
$today = date("Y-m-d");
// 条件改为等于当日日期
$stmt = $pdo->prepare('SELECT * FROM care_plan_review where reminder_date = ? order by id desc');
$stmt->execute([$today]);
$allReview = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

方案2:适用于reminder_date为DATETIME类型(带时分秒)

限定查询范围为当日0点到次日0点,避免遗漏当日任意时间的提醒:

<?php
include '../../main.php';
check_loggedin($pdo);
// 当日0点
$startToday = date("Y-m-d 00:00:00");
// 当日最晚时间
$endToday = date("Y-m-d 23:59:59");
// 条件限定在当日时间范围内
$stmt = $pdo->prepare('SELECT * FROM care_plan_review where reminder_date BETWEEN ? AND ? order by id desc');
$stmt->execute([$startToday, $endToday]);
$allReview = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

内容的提问来源于stack exchange,提问作者user17223386

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:27:00