首页 > 编程 > PHP > 正文

php实现签到功能

2019-11-14 09:03:14
字体:
来源:转载
供稿:网友

 控制器的写

$date=yii::$app->request->get('date');

        if(isset($date)){            $user_id=1;            $model=new SignIn();            if(!$model->show($user_id,$date)){                $dated=$date-3600*24;                $yesterday=$model->show($user_id,$dated);                $sign_num=!empty($yesterday)?$yesterday[0]['sign_num']:0;                if($sign_num+1==5){                    $data=['user_id'=>$user_id,'sign_date'=>intval($date),'sign'=>1];                }else{                    $data=['user_id'=>$user_id,'sign_date'=>intval($date),'sign'=>1,'sign_num'=>$sign_num+1];                }                    if($model->add($data)){                        $model->sign_total($data['user_id']);                        return "<script>alert('签到成功');location.href='".URl::to(['sign-in/sign'])."';</script>";                    }            }else{                return "<script>alert('今天已签到');location.href='".URl::to(['sign-in/sign'])."'</script>";            }//            $data=['user_id'=>1,'sign_date'=>$date];////            $model->sign($data);        }else{            return $this->render('sign');

        }

model层的一些写法

class SignIn extends /yii/db/ActiveRecord{    public function sign_total($userId){        $sql='update user set sign_total=sign_total+10 WHERE id='.$userId;        return Yii::$app->db->createCommand($sql)->query();    }    public function add($data){        $value='';        foreach($data as $val){            $value.=",'$val'";        }        $k='';        foreach($data as $key=>$val){            $k.=",$key";        }        $value=substr($value,1);        $k=substr($k,1);    return    Yii::$app->db->createCommand("insert into sign_in($k) VALUES($value)")->query();    }    public function show($id,$dated){    return    $rows = (new /yii/db/Query())->from('sign_in')            ->where(['user_id' => $id])            ->andWhere(['sign_date'=>$dated])            ->all();    }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表