投票システムがあります。
投票後、さらに 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);