PHP MySQL 如果最新时间戳比今天早两周

标签 php mysql timestamp

我正在尝试查询一个表,其中保存了每个用户和组的出勤记录。如果每个用户和组的最新时间戳比今天的日期早两周,则会显示图像。这是我目前的代码,但我认为我不理解时间格式或其他东西。

$tsquery = mysql_query("SELECT ts FROM `attendance` WHERE contact_id='$contactid' AND             group_id='$groupid' AND `ts` + INTERVAL 7 DAY < NOW() ORDER BY ts LIMIT 1 ");
$ts=mysql_fetch_array($tsquery);

if(isset($ts)){
echo "<img src='images/care.png' title='Care Group' style='border: none; background-color:     #fff;'>";
} else {
} 

我在某些人身上得到了错误的结果。如果某人两周前没有参加事件,但昨天参加了事件,则返回 true,而不是发现他们在过去两周内参加过事件。有没有更好的方法可以返回更准确的结果?

最佳答案

你需要稍微改变一下你的逻辑。检查是否存在匹配 ts + INTERVAL 7 DAY < NOW() 的行意思是“他们在 7 天前是否参加过任何事件”?检查匹配 ts + INTERVAL 7 DAY >= NOW() 的行意思是“他们在过去一周参加过任何事件吗?”如果没有行,那么他们在一周内没有做任何事情。

(另外,只是一个挑剔,但散文中有“两周”,代码有“7 天”。两周当然是 14 天。)

关于PHP MySQL 如果最新时间戳比今天早两周,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12733943/

相关文章:

ios - 如何快速将 UTC 时间转换为 Unix 时间戳?

ios - 如何在特定时间段后进入主屏幕 ios

php - Laravel:对具有多对多关系的集合进行排序

mysql - SQL - 当用户注册时更新两个表

php - 适用于嵌入式浏览器中网站的 Google OAuth

php - 是否有一个好的解决方案来使用数据库的 session 集保存处理程序来处理 session 不活动?

mysql - 只读/tmp 能否导致 "Unknown table engine ' InnoDB'"?

javascript - 如何使用javascript根据当前时间创建一串数字?

php - URL 斜杠 '/' 得到双重编码。更改为 %252F 而不是 %2F

php - unicode 和简单 xml 错误