实现日历签到功能,操作步骤详解(签到日历表)

网友投稿 450 2022-07-22

在网站开发过程中我们会经常用到签到功能来奖励用户积分,或者做一些其他活动。这次项目开发过程中做了日历签到,因为没有经验所有走了很多弯路,再次记录过程和步骤。

1.日历签到样式:

2.本次签到只记录本月签到数,想要查询可以写其他页面,查询所有签到记录。(功能有,非常麻烦,没有做。)

3.前台代码

 

4.后台代码:查询今天是否签到:

$points = M('points_log');

    $userid=session('user.id');

    $begintime=date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d'),date('Y')));

    $endtime=date("Y-m-d H:i:s",mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1);

    $where=array(

        'points'=>'5',

        'user_id'=>$userid,

        'createtime' => array(array('gt',$begintime),array('lt',$endtime)),

      );

    $res=$points->where($where)->order("createtime desc")->select();

    //var_dump($res['0']['points']);     $this->assign('res',$res);

5.查询积分:

/*查询积分*/ $jfen=M(cuser);

$list=$jfen->where(array('id'=>$userid))->field('points')->find();

$preg = '/[0]*/';

$poin = preg_replace($preg, '', $list, 1); $this->assign('poin',$poin);

6.签到写入数据库:

/*签到*/     if(IS_AJAX){  

      $userid=session('user.id');

      $type='签到';

      $typename='checkin';

      $id_status='up';

      $date=Date('Y-m-d H:i:s'); 

      $dataList=array(

          'user_id'=>$userid,

          'type'=>$type, 

          'typename'=>$typename,

          'id_status'=>$id_status,

          'points'=>'5',

          'createtime'=>$date,

          'remark'=>'奖励5积分'           );  

      $points = M('points_log');

      if($points->add($dataList)){

        $log=session('user.id');

        $user=M('cuser');

        $user->where(array('id'=>$log))->setInc('points',5);

      }  

      $this->ajaxReturn($status);

    }

7. /*查询本月签到天数,并以json格式返回*/

public function MonthSign(){

    $userid=session('user.id');

    $points = M('points_log');

    $res=$points->where(array('user_id'=>$userid))->select();

    $sign='[';

    foreach($res as $key=>$value){

      $first=explode(' ', $value['createtime']);

      $second=explode('-', $first['0'])['2'];

      if($key==0){

        $sign .= '{"signDay":"'.$second.'"}';

      }else{

        $sign .= ',{"signDay":"'.$second.'"}';

      }

    }

    $sign .=']';

    $this->ajaxReturn($sign,'json');

  }

看截图

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:深入学习MySQL事务:ACID特性的实现原理(数据库事务的acid特性)
下一篇:PHP开发API接口与使用,可深入了解下(php api接口开发实例)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~