Home >Backend Development >PHP Tutorial >帮忙看下怎么把下面代码调用每月的数据改成调用所有数据或某年份的数据

帮忙看下怎么把下面代码调用每月的数据改成调用所有数据或某年份的数据

WBOY
WBOYOriginal
2016-06-23 13:27:14879browse

	//往期团购列表	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;	}}



总算是找到了定义这个函数的文件,大哥帮帮忙谢谢了

没人帮忙吗???????

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP TCP长连接扩展:foolsockNext article:单点登录