欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-05 20:04:47
...
	//往期团购列表	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_time)		{			if($max_time > $now_time)				$max_time = $now_time;			$where = " gk.end_time >= $min_time AND gk.end_time   


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

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