先从数据库中查找登陆过的天数。这里一般会用到倒叙排序,和group去重。limit最大连续几日送积分的天数就可以了。
这里是测试逻辑//日期数组$day_list = array('2015-11-24','2015-11-22','2015-11-21');$continue_day = 1 ;//连续天数if(count($day_list) >= 1){ for ($i=1; $i<=count($day_list); $i++) { if( ( abs(( strtotime(date('Y-m-d')) - strtotime($day_list[$i-1]) ) / 86400)) == $i ) { $continue_day = $i+1; } else { break; } }}echo $continue_day; //输出连续几天die();
封装成函数就是这样function continue_day($day_list){ $continue_day = 1 ;//连续天数 if(count($day_list) >= 1) { for ($i=1; $i<=count($day_list); $i++) { if( ( abs(( strtotime(date('Y-m-d')) - strtotime($day_list[$i-1]) ) / 86400)) == $i ) { $continue_day = $i+1; } else { break; } } } return $continue_day; //输出连续几天}