1. 程式人生 > >基於tp的每日簽到

基於tp的每日簽到

// 每日簽到
public function dailySign(){
// 獲取使用者簽到資訊
m e r A r r = M
( m e r c h a n t
) > w h e r e (
" M e r I D = merArr = M('merchant') -> where("MerID = '
this->UserId’") -> find();
// 判斷是否為註冊後第一次簽到
if($merArr[‘totalTime’] == 0 && $merArr[‘totalnum’] == 0){
// 獲取簽到設定
$signArr = M(‘sign’) -> where(“num = 1”) -> find();
$Yunbi = $signArr[‘yun’];
$score[‘Mertotal’] = array(‘exp’,“Mertotal + $Yunbi”);
$score[‘totalnum’] = 1;
$score[‘totalTime’] = time();
r e s u l t = M ( m e r c h a n t ) > w h e r e ( " M e r I D = result = M('merchant') -> where("MerID = ' this->UserId’") -> save( s c o r e ) ; i f ( score); if( result > 0){
echo “簽到成功”;
}else{
echo “簽到失敗”;
}
}else{
// 獲取登入使用者簽到資訊
$totalTime = $merArr[‘totalTime’]; // 簽到時間
$totalnum = $merArr[‘totalnum’]; // 簽到次數
s i g n T i m e = d a t e ( y m d , signTime = date('y-m-d', totalTime); // 格式化簽到時間
// 判斷今天是否已經簽到
if($signTime == date(‘y-m-d’,time())){
echo “已簽到”;
exit;
}else{
// 判斷是否錯過連續簽到時間
if(time() - $totalTime > 606024){
// 獲取簽到設定
$signArr = M(‘sign’) -> where(“num = 1”) -> find();
$Yunbi = $signArr[‘yun’];
$score[‘Mertotal’] = array(‘exp’,“Mertotal + $Yunbi”);
$score[‘totalnum’] = 1;
$score[‘totalTime’] = time();
r e s u l t = M ( m e r c h a n t ) > w h e r e ( " M e r I D = result = M('merchant') -> where("MerID = ' this->UserId’") -> save( s c o r e ) ; i f ( score); if( result > 0){
echo “簽到成功”;
}else{
echo “簽到失敗”;
}
}else{
// 獲取簽到設定
$signArr = M(‘sign’) -> where(“num = t o t a l n u m + 1 " ) > f i n d ( ) ; i f ( totalnum + 1") -> find(); if( signArr != null){
$Yunbi = $signArr[‘yun’];
}else{
$maxYun = M(‘sign’) -> Max(‘num’);
$signArr = M(‘sign’) -> where(“num = $maxYun”) -> find();
$Yunbi = $signArr[‘yun’];
}
$score[‘Mertotal’] = array(‘exp’,“Mertotal + $Yunbi”);
$score[‘totalnum’] = $totalnum + 1;
$score[‘totalTime’] = time();
r e s u l t = M ( m e r c h a n t ) > w h e r e ( " M e r I D = result = M('merchant') -> where("MerID = ' this->UserId’”) -> save( s c o r e ) ; i f ( score); if( result > 0){
echo “簽到成功”;
}else{
echo “簽到失敗”;
}
}
}
}
}

– 表的結構 web_sign

CREATE TABLE IF NOT EXISTS web_sign (
id int(11) NOT NULL AUTO_INCREMENT,
num tinyint(4) NOT NULL,
yun int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=‘簽到表’ AUTO_INCREMENT=3 ;

– 轉存表中的資料 web_sign

INSERT INTO web_sign (id, num, yun) VALUES
(1, 1, 20),
(2, 2, 40);