mysql - 仅在 PHP 中显示本周的行
问题描述
我有两个日期作为列dtp_s
和dtp_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' )
但是当确实存在记录时,它不会显示任何记录。
关于如何仅显示基于同一周(周一至周日)开始的数据的任何想法?
解决方案
要获得本周的星期一,您可以使用:-
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
推荐阅读
- python - 撇号导致字符串比较出现问题?
- python - 如何检测与敌人相撞的导弹?
- c# - 如何使用 Microsoft Graph SDK 获取 AD 用户组列表以及 AD 用户
- email - 电子邮件服务器是否具有标准文件夹命名或 ID?
- reactjs - React Material-ui自动完成:清除搜索字段时出现“TypeError:无法读取null的属性'id'”
- r - zip() 函数在 R Studio 中不起作用:如何使用密码创建压缩文件 .zip?
- vue.js - Vue.js - 翻译文件以获得更好的性能
- java - 使用 SceneBuilder 的 JavaFX 错误
- java - Java 日期与收到的值相差一天
- python - DirectWrite 未针对变音符号进行调整