首页 > 解决方案 > 仅在 PHP 中显示本周的行

问题描述

我有两个日期作为列dtp_sdtp_e(开始,结束)存储在我的数据库中。这些来自一个填充的表单,用户可以在该表单中选择开始和结束日期。

我想显示本周周一至周日的记录,但我目前的解决方案是显示 7 天前的日期 - 今天。

SELECT id
FROM _records
WHERE
    dtp_s > unix_timestamp(now() - interval 1 week)
    AND userid = ?
ORDER BY dtp_s DESC 
LIMIT 5

我试图更改now()为的值,strtotime( 'sunday' )但是当确实存在记录时,它不会显示任何记录。

关于如何仅显示基于同一周(周一至周日)开始的数据的任何想法?

标签: mysqlsqldate

解决方案


要获得本周的星期一,您可以使用:-

select date(curdate() - interval weekday(curdate()) day)

要将其添加到您的代码中:-

SELECT id FROM _records 
WHERE dtp_s > date(curdate() - interval weekday(curdate()) day) AND userid = ? 
ORDER BY dtp_s DESC 
LIMIT 5

推荐阅读