Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何允许用户每天投票一次,而不是最后24小时?_Php_Mysql_Sql_Wordpress - Fatal编程技术网

Php 如何允许用户每天投票一次,而不是最后24小时?

Php 如何允许用户每天投票一次,而不是最后24小时?,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,我正在尝试创建一个功能,允许用户每天只投票一次。为此,我在表中创建了ratingTimestamp字段,在其中插入投票时的当前时间戳值 以及验证用户他每天只能投票一次。我正在使用这个MySQL查询: SELECT count( * ) AS votecount FROM ratings AS e WHERE e.userId =5 AND e.ratingTimestamp >= NOW( ) - INTERVAL 1 DAY 问题是,这个查询在24小时的基础上为我提供了votecou

我正在尝试创建一个功能,允许用户每天只投票一次。为此,我在表中创建了
ratingTimestamp
字段,在其中插入投票时的当前时间戳值

以及验证用户他每天只能投票一次。我正在使用这个MySQL查询:

SELECT count( * ) AS votecount
FROM ratings AS e
WHERE e.userId =5
AND e.ratingTimestamp >= NOW( ) - INTERVAL 1
DAY 
问题是,这个查询在24小时的基础上为我提供了
votecount
,但我只希望它以日期为基础


例如,如果用户在2014年3月12日上午11:59:00投票,并且他在2014年3月13日下午4:00再次尝试投票,他可以投票,但使用上述查询是不可能的,因为它为这种情况提供投票计数1,因为它从下午4:00开始计算最后24小时。

我认为您应该使用类似的方式:

$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")";
$sql=“从e.ratingTimestamp>=”.strotime(“今天”)和e.ratingTimestamp<”.strotime(“tommorow”)评级中选择count(*)作为votecount;
或者看看这个链接