getGoodsPartitions();$this->assign("partitions",$partitions)">
时间:2021-07-01 10:21:17 帮助过:19人阅读
//往期团购列表 public function expired() { $partitions = D("Goods")->getGoodsPartitions(); $this->assign("partitions",$partitions); $site_name = trim($_REQUEST['site_name']); $cate_id = intval($_REQUEST['cate_id']); $name = trim($_REQUEST['name']); $status = trim($_REQUEST['status']); $city = trim($_REQUEST['city']); $end_time = intval($_REQUEST['end_time']); if(isset($partitions[$end_time])) $partition = $partitions[$end_time]; else { $partition = current($partitions); $end_time = $partition['min_date']; } $this->assign("end_time",$end_time); $parameter = array(); $parameter['end_time'] = $end_time; $is_empty = false; $where = ''; if(!empty($site_name)) { $this->assign("site_name",$site_name); $parameter['site_name'] = $site_name; $ids = array(); $site_ids = D('Site')->where("name like '%$site_name%'")->field('id')->findAll(); foreach($site_ids as $site) { $ids[] = $site['id']; } if(count($ids) > 0) $where .= ' and gk.site_id in ('.implode(',', $ids).')'; else $is_empty = true; } if(!empty($cate_id)) { $this->assign("cate_id",$cate_id); $where.=" and gk.cate_id = $cate_id"; $parameter['cate_id'] = $cate_id; } if(!empty($city)) { $this->assign("city",$city); $where.=" and gk.city = '$city'"; $parameter['city'] = $city; } if(!empty($name)) { $name_query = clearSymbol($name); if(!empty($name_query)) { $name_query = segmentToUnicode($name_query,'+'); $match_sql = ' inner join '.C("DB_PREFIX").'goods_match as gm ON gm.id = gk.id '; $where.=" AND MATCH (gm.content) AGAINST ('$name_query' IN BOOLEAN MODE)"; $this->assign("name",$name); $parameter['name'] = $name; } } if($status != "" && $status >= 0) { $where.=" and g.status = $status"; $this->assign("status",$status); $parameter['status'] = $status; } else { $this->assign("status",-1); } if(!$is_empty) { $model = M(); $count_str = 'SELECT count(g.id) as gcount FROM '.C("DB_PREFIX").'goods_key as gk inner join '.C("DB_PREFIX").'goods as g on g.id = gk.id '.$match_sql. "where $partition[where] $where "; $count = $model->query($count_str); $count = $count[0]['gcount']; $sql_str = 'SELECT g.id,g.name,g.shop_price,g.city,g.end_time,g.status,g.is_best,g.sort,g.cate_id,g.bought,g.site_name FROM '.C("DB_PREFIX").'goods_key as gk inner join '.C("DB_PREFIX").'goods as g on g.id = gk.id '.$match_sql. "where $partition[where] $where "; $voList = $this->_sqlList($model, $sql_str, $count,$parameter, 'id', false); } else $voList = array(); L("FORBID","未审核"); L("NORMAL","已审核"); $group_city_list = D("GroupCity")->where("status=1")->order("sort asc,id asc")->findAll(); $this->assign("group_city_list",$group_city_list); $goodsCates = D('GoodsCate')-> where("status=1")-> findAll(); $goodsCates = D('GoodsCate')-> toFormatTree($goodsCates,array('name')); $this->assign("goodsCates",$goodsCates); $this->display(); }
有人帮忙吗?谢谢啊
看一下 D("Goods")->getGoodsPartitions(); 这个方法,改一改
等楼下
$partitions = D("Goods")->getGoodsPartitions();
这个函数长什么样子
$partitions = D("Goods")->getGoodsPartitions();
这个函数长什么样子
public function getGoodsPartitions() { $now_time = gmtTime(); $date = D('Goods')->min('end_time'); $min_year = toDate($date,'Y'); $min_month = toDate($date,'m'); $max_year = toDate($now_time,'Y'); $max_month = toDate($now_time,'m'); $time_arr = array(); $partitions = array(); for($year = $min_year;$year <= $max_year;$year++) { $mmonth = 12; $month = 1; if($year == $max_year) $mmonth = $max_month; if($year == $min_year) $month = $min_month; for($month;$month <= $mmonth;$month++) { $next_year = $year; $next_month = $month + 1; if($month == 12) { $next_year++; $next_month = 1; } $time_arr[localStrToTime($year.'-'.$month.'-01 00:00:00')] = localStrToTime($next_year.'-'.$next_month.'-01 00:00:00'); } } $index = 1; $count = count($time_arr); foreach($time_arr as $min_time => $max_time) { if($max_time > $now_time) $max_time = $now_time; $where = " gk.end_time >= $min_time AND gk.end_time < $max_time"; $partitions[$min_time]['date'] = toDate($min_time,'Y年m月'); $partitions[$min_time]['min_date'] = $min_time; $partitions[$min_time]['max_date'] = $max_time; $partitions[$min_time]['where'] = $where; $index++; } krsort($partitions); return $partitions; }}
没人帮忙吗???????