免费ppt网站 不要收费的,wordpress文章内多页效果,怎么做网页来看起来很高大上,网站建设策划书心得产品需求#xff0c;有一个开放日的活动#xff0c;时间是多选#xff0c;且一个时间不能超过24小时#xff0c;不能跨天#xff0c;不能相等#xff0c;后台没问题了#xff0c;接口调取数据的时候麻烦点#xff0c;因为刚开始时间存的json字段#xff0c;后面改为添…产品需求有一个开放日的活动时间是多选且一个时间不能超过24小时不能跨天不能相等后台没问题了接口调取数据的时候麻烦点因为刚开始时间存的json字段后面改为添加一个时间表 时间字段有stime开始时间etime结束时间
// 接收的时间因为前台可以切换月份查看数据
$deta $this-request-post(deta); // 2023-12-10
// 转为年月
$dateParam date(Y-m,strtotime($deta));
$currentMonthStart $dateParam;
$currentMonthStart date(Y-m-d 00:00:00, strtotime($currentMonthStart));
$currentMonthEnd date(Y-m-t 23:59:59, strtotime($currentMonthStart));
// 注释的内容是上一测试的方法
$result opmodel::alias(a)-join(opendaytime op, op.openday_id a.id, left)-where([a.switch1,op.stime[,$currentMonthStart],op.etime[,$currentMonthEnd]])// 将 GROUP_CONCAT(DATE_FORMAT(op.stime, %Y-%m-%d))转换为年月日
// -field(a.*,GROUP_CONCAT(op.id) as opid,CONCAT([, GROUP_CONCAT(JSON_OBJECT( etime, DATE_FORMAT(op.etime, %Y-%m-%d %H:%i:%s),stime, DATE_FORMAT(op.stime, %Y-%m-%d %H:%i:%s))), ]) as optime)-field(a.*,op.id as opid,op.stime,op.etime,op.openday_id)
// -group(a.id)-order(stime)
// -fetchSql()-paginate($limit,$pages)-toArray();
// 根据openday_id将相同的数据归为一个数组$newData [];foreach ($result[data] as $item) {$opendayId $item[openday_id];if (!isset($newData[$opendayId])) {$newData[$opendayId] [id $item[id],openday_id $opendayId,name $item[name],activityimage $item[activityimage],school_id $item[school_id],activityaddress $item[activityaddress],quota $item[quota],weigh $item[weigh],opid $item[opid],optime [],];}$newData[$opendayId][optime][] [stime $item[stime],etime $item[etime],];}// 当前时间$currentTimestamp strtotime(date(Y-m-d 00:00:00));// 循环处理时间添加未来时间futuretime和过去时间pasttimeforeach ($newData as $activity) {$activity[futuretime] ; // 未来时间$activity[pasttime] []; // 过去时间foreach ($activity[optime] as $optime) {$startTime strtotime($optime[stime]);if ($startTime strtotime(1 week, $currentTimestamp) $startTime $currentTimestamp ) {if (empty($activity[futuretime])) {$activity[futuretime] $startTime;}}else{$activity[pasttime][] $startTime;}// $ymd 暂未使用$ymd date(Y-m-d, strtotime($optime[stime]));$_ymd date(Y-m, strtotime($optime[stime]));$hm date(H:i, strtotime($optime[stime])) .-.date(H:i, strtotime($optime[etime]));if (!$activity[currentmonth]) {$activity[currentmonth] explode(-, $_ymd);}// 特殊需求 展示时间$activity[ymdhm][] [ymd $_ymd,hm $hm,];}// 前台点击查看的月份$activity[cktime] date(Y-m,strtotime($activity[optime][0][stime]));// 统计当前月份的场次$activity[counttime] count($activity[ymdhm]);$activity[school_name] $activity[school_id];// 可去可不去unset($activity[openjson]);// 如果futuretime没有数据就将最后一个日期放入if (empty($activity[futuretime])) {$lastOptime end($activity[optime]);$lastStartTime strtotime($lastOptime[stime]);$activity[futuretime] $lastStartTime;}}// 根据字段排序usort($newData, function($a, $b) use ($currentTimestamp) {if ($a[futuretime] $currentTimestamp) {return 1;} elseif ($b[futuretime] $currentTimestamp) {return -1;} else {return $a[futuretime] - $b[futuretime];}});$result[data] $newData;
打印结果
array:6 [0 array:17 [id 26openday_id 26name 活动02activityimage 活动图片school_id 学校名称activityaddress 地址quota 10000weigh 26opid 30optime array:2 [0 array:3 [stime 2023-12-13 09:00:00etime 2023-12-13 17:00:00]1 array:3 [stime 2023-12-14 09:00:00etime 2023-12-14 17:00:00]]futuretime 1702515600pasttime array:1 [0 1702429200]currentmonth array:2 [0 20231 12]ymdhm array:2 [0 array:2 [ymd 2023-12hm 09:00-17:00]1 array:2 [ymd 2023-12hm 09:00-17:00]]cktime 2023-12counttime 2school_name 学校名称]1 array:17 [id 27openday_id 27name 活动03activityimage 活动图片school_id 学校名称activityaddress 地址quota 10000weigh 27opid 32optime array:3 [0 array:3 [stime 2023-12-15 09:00:00etime 2023-12-15 00:00:00]1 array:3 [stime 2023-12-16 09:00:00etime 2023-12-16 17:00:00]2 array:3 [stime 2023-12-17 09:00:00etime 2023-12-17 17:00:00]]futuretime 1702602000pasttime []currentmonth array:2 [0 20231 12]ymdhm array:3 [0 array:2 [ymd 2023-12hm 09:00-00:00]1 array:2 [ymd 2023-12hm 09:00-17:00]2 array:2 [ymd 2023-12hm 09:00-17:00]]cktime 2023-12counttime 3school_name 学校名称]2 array:17 [id 29openday_id 29name 活动05activityimage 活动图片school_id 学校名称activityaddress 地址quota 10000weigh 29opid 36optime array:1 [0 array:3 [stime 2023-12-18 09:00:00etime 2023-12-18 17:00:00]]futuretime 1702861200pasttime []currentmonth array:2 [0 20231 12]ymdhm array:1 [0 array:2 [ymd 2023-12hm 09:00-17:00]]cktime 2023-12counttime 1school_name 学校名称]3 array:17 [id 30openday_id 30name 活动06activityimage 活动图片school_id 学校名称activityaddress 地址quota 10000weigh 30opid 37optime array:1 [0 array:3 [stime 2023-12-19 09:00:00etime 2023-12-19 17:00:00]]futuretime 1702947600pasttime []currentmonth array:2 [0 20231 12]ymdhm array:1 [0 array:2 [ymd 2023-12hm 09:00-17:00]]cktime 2023-12counttime 1school_name 学校名称]4 array:17 [id 25openday_id 25name 活动01activityimage 活动图片school_id 学校名称activityaddress 地址quota 10000weigh 25opid 29optime array:1 [0 array:3 [stime 2023-12-13 09:00:00etime 2023-12-13 17:00:00]]futuretime 1702429200pasttime array:1 [0 1702429200]currentmonth array:2 [0 20231 12]ymdhm array:1 [0 array:2 [ymd 2023-12hm 09:00-17:00]]cktime 2023-12counttime 1school_name 学校名称]5 array:17 [id 28openday_id 28name 测试活动04-测试已过时间activityimage 活动图片school_id 学校名称activityaddress 地址quota 10000weigh 28opid 35optime array:2 [0 array:3 [stime 2023-12-08 09:00:00etime 2023-12-08 17:00:00]1 array:3 [stime 2023-12-09 09:00:00etime 2023-12-09 17:00:00]]futuretime 1702083600pasttime array:2 [0 17019972001 1702083600]currentmonth array:2 [0 20231 12]ymdhm array:2 [0 array:2 [ymd 2023-12hm 09:00-17:00]1 array:2 [ymd 2023-12hm 09:00-17:00]]cktime 2023-12counttime 2school_name 学校名称]
]