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

时间:2012-10-04 18:55:16

标签: 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 {
} 

我在某些人身上得到了错误的结果。如果有人在2周前没有参加活动,但昨天确实参加了活动,那么它将返回真实状态,而不是发现他们在过去两周内参加了活动。是否有更好的方法可以返回更准确的结果?

1 个答案:

答案 0 :(得分:1)

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

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