帮忙看下如何把下面代码调用每月的数据改成调用所有数据或某年份的数据
程序员文章站
2024-02-06 08:50:28
...
帮忙看下怎么把下面代码调用每月的数据改成调用所有数据或某年份的数据
前台的调用代码是这样的:
他的下拉菜单选择都是每个月的所有过期数据,我要的效果是下拉菜单加一个全部过期数据或每年份的过期数据
------解决思路----------------------
看一下 D("Goods")->getGoodsPartitions(); 这个方法,改一改
等楼下
------解决思路----------------------
$partitions = D("Goods")->getGoodsPartitions();
这个函数长什么样子
//往期团购列表
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();
这个函数长什么样子
相关文章
相关视频
上一篇: PHP文件操作类