我正在尝试创建允许用户一天只投票一次的功能。为此我在表格中创建了ratingTimestamp
字段,我在投票时插入当前时间戳值。
用于验证用户每天只能投票一次。我正在使用这个MySQL查询:
SELECT count( * ) AS votecount
FROM ratings AS e
WHERE e.userId =5
AND e.ratingTimestamp >= NOW( ) - INTERVAL 1
DAY
问题是这个查询会在24小时内给我votecount
,但我只想在日期的基础上提供它。
如果用户在12-03-2014 11:59:00 AM投票并再次尝试投票于13-03-2014 4:00 PM他可以投票但是使用上述查询它是不可能的,因为它是给我这个案子的计票数为1,因为它是从下午4点算起最后24小时。
答案 0 :(得分:3)
我认为你应该使用这样的东西:
$sql="SELECT count( * ) AS votecount FROM ratings WHERE DATE(e.ratingTimestamp) = CURDATE()";
或者你可以试试PHP
$sql="SELECT count( * ) AS votecount FROM ratings WHERE e.ratingTimestamp >= '".strtotime("today")."' AND e.ratingTimestamp < '".strtotime("tommorow")";
或者选择查看此链接