1、表設計1)、主表
create table `sign` (
`id` int(11) not null auto_increment comment '主鍵自增',`uid` varchar(50) not null
default '0' comment '使用者id 唯一',`sign_count` int(11) not null
default '0' comment '連續簽到次數',`last_time` int(11) not null
default '0' comment '最近一次簽到時間',`create_time` int(11) not null
default '0' comment '建立時間',primary
key(`id`)
) engine=innodb default charset=utf8 comment='簽到主表';
2)、詳情表
create table `sign_detail` (
`id` int(11) not null auto_increment comment '主鍵自增',
`uid` varchar(50) not null default '0' comment '使用者id 唯一',`sign_time` int(11) not null
default '0' comment '簽到時間',primary
key(`id`)
)engine=innodb default charset=utf8 comment='簽到詳情表';
//主表$signinfo = db::table('ims_ewei_shop_sign_user')->where('openid',$openid)->order('id','desc')->find();
if($signinfo)else if( $last_time == $yesterday) //使用者昨天簽到,連續簽到次數加1,否者重置為0
else
$data = [
'sign_count' => $sign_count,
'sum' => $sum +=1,
'last_time' => time(),
'signdate' => time(),
];$sign_id = db::table('ims_ewei_shop_sign_user')->where('openid',$openid)->update($data);
if($sign_id)}}
}}else}}
}else
}
php實現簽到功能
首先我在資料庫裡建了兩張表,乙個是使用者的積分表,乙個是簽到狀態表,分來用來記錄使用者的積分數和先到狀態 在使用者簽到狀態表中我們有乙個字段,last sign time,即上一次簽到時間,每次可以簽到的時候把這個時間與當前時間進行比較 如果相差為0天,則說明今天已簽到 這個簽到是24小時內只能簽到...
PHP實現簽到功能
php實現簽到功能 1 表設計 1 主表 create table sign id int 11 not null auto increment comment 主鍵自增 uid varchar 50 not null default 0 comment 使用者id 唯一 username varc...
PHP 實現簽到功能
如圖所示 實現上圖功能,建立兩張表 簽到獎品表 簽到記錄表 這個表可以再拆分出乙個表 2 功能 計算兩個時間戳之間相差的日時分秒 3 begin time 開始時間戳 4 end time 結束時間戳5 6public function timediff begin time,end time el...