Home >Backend Development >PHP Tutorial >帮忙看下怎么把下面代码调用每月的数据改成调用所有数据或某年份的数据
//往期团购列表 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; }}
没人帮忙吗???????