これが私がやろうとしていることです。
id ip timestamp userid
9 127.0.0.1 2013-06-27 16:52:49 35
最初にテーブルにクエリを実行して、ユーザーの IP が保持されているかどうかを確認したいと思います。2) 投票のタイムスタンプを現在のタイムスタンプと照合し、投票時間が 24 時間以上経過している場合は、再度投票できるようにします。彼が 24 時間に 1 回だけ投票できるようにします。
これは私の現在の zend_db_select ステートメントです。ロジックにいくつかの問題が発生しています
function checkIfCanLikeH($hlid,$ip){
$canlike = false;
$currenttime = time();
$checkquery = $this->dbo->select()
->from("hl", array("num"=>"COUNT(*)"))
->where("hlid = ?", $hlid)
->where("ip = ?", $ip)
->where("timestamp < ".new Zend_Db_Expr('NOW()'));
$this->dbo->setFetchMode(Zend_Db::FETCH_ASSOC);
$checkrequest = $this->dbo->fetchRow($checkquery);
if($checkrequest['num']!=0){
$ip = true;
}
return $ip;
}
タイムスタンプを比較する方法に行き詰まっています。テーブルからタイムスタンプを取得し、現在の時刻がテーブルの値よりも小さいかどうかを確認する必要があります (24 時間追加)。
アドバイスをいただければ幸いです。