mysql数据库 签到表设计:我这个只是满足当下我的需求,希望这个会对你们的项目有些帮助
$nowData = date("Y-m-d");//当前日期
$newArr1 = SH::get_week();//获取一周的日期
$newArr2 = array_column($newArr1,'date');
$newArr3 = array_flip($newArr2);
$firstnum = $newArr3[$nowData];//从那里开始签到
//2.查询出用户签到数据
$data = $db->createCommand("select * from `check` where userid='".$userTotal['au_id']."'")->queryOne();
$day_num = $data['num']+1;//签到天数
$info=explode(',',$data['check_time']);//截取签到时间
/**
* @param string $time
* @param string $format
* @return array
* Date: 2020/9/7
* 获取一周的日期
*/
public static function get_week($time = '', $format='Y-m-d'){
$time = $time != '' ? $time : time();
//获取当前周几
$week = date('w', $time);
$weekname = array('周一','周二','周三','周四','周五','周六','周日');
//星期日排到末位
if(empty($week)){
$week=7;
}
$date = [];
for ($i=0; $i<7; $i++){
$date_time = date($format ,strtotime( '+' . $i+1-$week .' days', $time));
$date[$i]['date'] = $date_time;
$date[$i]['time'] = strtotime($date_time);
$date[$i]['week'] = $weekname[$i];
}
return $date;
}