您好,登錄后才能下訂單哦!
這篇文章主要講解了“ThinkPHP怎么實現連續簽到功能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ThinkPHP怎么實現連續簽到功能”吧!
表結構
/**連續簽到的實現方式*/
public function signList(){
/**先查到是否有這個用戶*/
$m_id = $_GET['m_id'];
$sign = D('Sign')->where(array("m_id"=>$m_id))->limit(0)->find();
/**如果有就進行判斷時間差,然后處理簽到次數*/
if($sign){
/**昨天的時間戳時間范圍*/
$t = time();
$last_start_time = mktime(0,0,0,date("m",$t),date("d",$t)-1,date("Y",$t));
$last_end_time = mktime(23,59,59,date("m",$t),date("d",$t)-1,date("Y",$t));
/**今天的時間戳時間范圍*/
// $now_start_time = mktime(0,0,0,date("m",$t),date("d",$t),date("Y",$t));
// $now_end_time = mktime(23,59,59,date("m",$t),date("d",$t),date("Y",$t));
/**判斷最后一次簽到時間是否在昨天的時間范圍內*/
if($last_start_time<$sign['time']&&$sign['time']<$last_end_time){
$da['time'] = time();
$da['count'] = $sign['count']+1;
/**這里還可以加一些判斷連續簽到幾天然后加積分等等的操作*/
D('Sign')->where(array("m_id"=>$m_id))->save($da);
}else{
/**返回已經簽到的操作*/
$da['time'] = time();
$da['count'] = 0;
D('Sign')->where(array("m_id"=>$m_id))->save($da);
}
}else{
$data['m_id'] = $m_id;
$data['time'] = time();
$data['sign'] = 1;
$res = D("Sign")->add($data);
if($res){
/**成功就返回,或者處理一些程序,比如加積分*/
}
} }
感謝各位的閱讀,以上就是“ThinkPHP怎么實現連續簽到功能”的內容了,經過本文的學習后,相信大家對ThinkPHP怎么實現連續簽到功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。