我有投票系统。
一个人投票后,他将在另外 12 个小时内无法投票。
我想做的是,一个回声告诉他他什么时候可以再次投票。
例子:
You will be able to vote in 11 hours, and 04 minutes
我想到的:
当用户完成操作时,我将发送一个包含所有详细信息的查询,然后将“Next_vote”列设置为:
CURDATE() + 12 HOURS
然后执行 next_vote 减去 date(),然后它会给我多少小时/分钟,直到我可以再次投票。
但问题是,我不确定我将如何做到这一点,因此我需要一些帮助。
这是一个好方法并且应该有效吗?我该怎么做?
编辑::
public function getTimeLeft($ip)
{
$this->get = $this->pdo->prepare("SELECT DATE_FORMAT(TIMEDIFF(CURDATE(), 'nextVote')) FROM auths WHERE voter_ip = :ip");
$this->get->execute(array(":ip" => $ip));
}
public final function setNextVote($ip)
{
$this->insert = $this->pdo->prepare("UPDATE auths SET nextVote = CURDATE() + 12 HOURS WHERE voter_ip = :ip");
$this->insert->execute(array(":ip" => $ip));
}
$minutes = floor($vote->getTimeLeft($_SERVER['REMOTE_ADDR']) / 3600);
$hours = floor( ($vote->getTimeLeft($_SERVER['REMOTE_ADDR']) / 60) % 60);