>백엔드 개발 >PHP 튜토리얼 >帮忙看下怎么把下面代码调用每月的数据改成调用所有数据或某年份的数据

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

WBOY
WBOY원래의
2016-06-23 13:27:14886검색

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



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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP TCP长连接扩展:foolsock다음 기사:单点登录