ThinkPHP连续签到小案例
Oct 09, 2016 am 08:32 AM网站连续签到的小功能!
小伙伴们平时做网站开发的时候,是不是也遇到过会员连续签到送积分,比如我有一个加积分的规则是针对连续签到的,那么我们在实现这个功能的时候,我们面对的有一下几点注意:(1)连续签到,次数要累加,这就涉及到两个时间戳之间的判断(2)是否是本月的的签到,当然这点话,两个时间戳判断也就解决了,但是也要注意这个地方(3)连续就加1,反之就清0,还有就是之前没签到就生成一条签到的记录!下面我就贴出一段签到的实现代码,欢迎大家一起进步学习!
表结构:
/**连续签到的实现方式*/
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
$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){
/**成功就返回,或者处理一些程序,比如加积分*/
}
}
}

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Découvrez des exemples de code d'introduction à la programmation Python.

Comment utiliser PHP pour écrire le code de la fonction de gestion des stocks dans le système de gestion des stocks

Variables PHP en action : 10 exemples concrets d'utilisation

Java implémente un code de tri à bulles simple

Exemples de programmation en langage Go : exemples de code dans le développement Web

Du débutant au compétent : implémentation de code de structures de données couramment utilisées en langage Go

Guide d'interconnexion Huawei Cloud Edge Computing : exemples de code Java pour implémenter rapidement des interfaces

Conseils et exemples : Apprenez à implémenter l'algorithme de tri par sélection en Java
