• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-23) 13次浏览 已收录 0个评论
文章目录[隐藏]
	//往期团购列表	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();	}

前台的调用代码是这样的:

<option value="{$partition.min_date}" selected >{$partition.date}

他的下拉菜单选择都是每个月的所有过期数据,我要的效果是下拉菜单加一个全部过期数据或每年份的过期数据

回复讨论(解决方案)

有人帮忙吗?谢谢啊

看一下 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  $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_ti<a>2本文来源gao*daima.com搞@代#码&网6</a><pre>搞gaodaima代码

me; $partitions[$min_time][‘where’] = $where; $index++; } krsort($partitions); return $partitions; }}

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

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:帮忙看下怎么把下面代码调用每月的数据改成调用所有数据或某年份的数据

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址