当前位置: 代码迷 >> PHP >> 以上代码是调用24小时内的数据,请教如何改成调用一个月或一年的数据
  详细解决方案

以上代码是调用24小时内的数据,请教如何改成调用一个月或一年的数据

热度:145   发布时间:2012-10-28 09:54:44.0
以下代码是调用24小时内的数据,请问怎么改成调用一个月或一年的数据
PHP code
    private function getList($where='',$no_query = false)
    {
        global $_FANWE;

        if(!$no_query)
        {
            if(defined('IS_CACHE_TPL'))
                $fields = '';
            else
                $fields = ',g.post_count';

            $page_args = array(
                'city_py' => CURRENT_CITY_PY,
                'site' => intval($_FANWE['request']['site']),
                'cat' => intval($_FANWE['request']['cat']),
                'sort' => trim($_FANWE['request']['sort']),
                'date' => trim($_FANWE['request']['date']),
                'keyword' => trim($_FANWE['request']['keyword']),
                'prices' => trim($_FANWE['request']['prices']),
            );

            $site_id = 0;
            if($page_args['site'] > 0)
            {
                $site_id = $page_args['site'];
                $site_where = ' AND gk.site_id = '.$page_args['site'];
            }
            else
                unset($page_args['site']);

            $dates = S('Goods')->getExpiredGoodsDate();

            $min_time = getTodayTime();
            $max_time = TIME_UTC;
            $date = toDate($min_time,'Y-m-d');

            if(!empty($page_args['date']))
            {
                $time = str2Time($page_args['date']);
                if($time <= $dates['max_time'] && $time >= $dates['min_time'])
                {
                    $date = toDate($time,'Y-m-d');
                    $min_time = str2Time(toDate($time,'Y-m-d'));
                    $max_time = $min_time + 863990000;
                    if($max_time > TIME_UTC)
                        $max_time = TIME_UTC;
                }
            }
            else
            {
                $page_args['date'] = $date;
            }

            $dates['min_time'] = toDate($dates['min_time'],'r');
            $dates['max_time'] = toDate($dates['max_time'],'r');

              $where.=" AND gk.end_time >= '$min_time' AND gk.end_time <= '$max_time'";

            $keyword = '';
            if($page_args['keyword'] != '')
            {
                $page_args['keyword'] = urldecode($page_args['keyword']);
                $keyword = &$page_args['keyword'];
                $keyword_query = mysqlLikeQuote($page_args['keyword']);
                $where.=" AND (g.name LIKE '%$keyword_query%')";
            }
            else
                unset($page_args['keyword']);

            $insert_sort = 'gk.cr_sort ASC';

            if($page_args['cat'] > 0)
                $insert_sort = 'gk.ec_sort ASC';

            if(in_array($page_args['cat'],$_FANWE['cache']['goods']['root_cates']))
                $insert_sort = 'gk.dc_sort ASC';


            $city_name = $_FANWE['current_city']['name'];

            if(CURRENT_CITY_PY == CHINA_CITY_PY)
            {
                //全国不包含所有城市商品时
                if($_FANWE['setting']['all_city'] == 0)
                    $where.=  " AND gk.city = '$city_name'";
                else
                {
                    $insert_sort = 'gk.r_sort ASC';

                    if($page_args['cat'] > 0)
                        $insert_sort = 'gk.e_sort ASC';

                    if(in_array($page_args['cat'],$_FANWE['cache']['goods']['root_cates']))
                        $insert_sort = 'gk.d_sort ASC';
                }
            }
            elseif(CURRENT_CITY_PY != '')
            {
                //城市显示全国商品时
                if($_FANWE['setting']['index_all'] == 1)
                {
                    $fields .= ",(gk.city = '$city_name') as is_now_city";
                    $insert_sort = 'is_now_city DESC,'.$insert_sort;
                    $quanguo_name = $_FANWE['cache']['city']['all'][CHINA_CITY_PY]['name'];
                    $where.=  " AND gk.city IN ('$city_name','$quanguo_name')";
                }
                else
                {
                    $where.=  " AND gk.city = '$city_name'";
                }
            }

            //价格条件
            $prices = '';
            if(!empty($page_args['prices']))
            {
                $prices = &$page_args['prices'];
                $price_arr = explode(',',$prices);
                $price_min = intval($price_arr[0]);
                $price_max = intval($price_arr[1]);

                if($price_min > 0)
                    $where.=" AND (g.shop_price >= $price_min)";

                if($price_max > 0)
                    $where.=" AND (g.shop_price <= $price_max)";
            }
            else
                unset($page_args['prices']);

            $goods_cates = S('Goods')->getExpiredGoodsCats($site_where.$where);

            $cate_id = 0;
            if($page_args['cat'] > 0)
            {
                $cate_id = &$page_args['cat'];
                $cateobj = $_FANWE['cache']['goods']['cats'][$cate_id];
                $cate_ids = array();
                if(isset($cateobj['childs']))
                    $cate_ids = $cateobj['childs'];

                $cate_ids[] = $cate_id;

                if(count($cate_ids) > 1)
                    $where.=' AND gk.cate_id IN ('.implode(',', $cate_ids).')';
                else
                    $where.=" AND gk.cate_id = '$cate_id'";
            }
            else
                unset($page_args['cat']);

            $goods_sites = S('Goods')->getExpiredGoodsSites($where);

            $where = $site_where.$where;

            $order = '';
            $sort = &$page_args['sort'];
            $sort_array = array('spa'=>'g.shop_price ASC','spd'=>'g.shop_price DESC','eta'=>'g.end_time ASC','etd'=>'g.end_time DESC','cca'=>'g.click_count ASC','ccd'=>'g.click_count DESC','sa'=>'g.score ASC','sd'=>'g.score DESC','ba'=>'g.bought ASC','bd'=>'g.bought DESC','da'=>'discount ASC','dd'=>'discount DESC');

            if(array_key_exists($sort,$sort_array))
                $order = $sort_array[$sort];
            else
            {
                unset($page_args['sort']);
                $sort = '';
            }

            if(empty($order))
                $order .= 'g.is_best DESC,'.$insert_sort.',g.sort ASC,g.id ASC';
            else
                $order .= ','.$insert_sort.',g.sort ASC,g.id DESC';

            $goods_count = S('Goods')->getExpiredGoodsCount($where);

            $pager = buildPage('goods/'.ACTION_NAME,$page_args,$goods_count,$_FANWE['page'],15);
            $goods_result = S('Goods')->getExpiredGoodsList($where,$order,$fields,$pager['limit']);
            $goods_result['ids'] = implode(',',$goods_result['ids']);
        }

        include template('page/goods_index');
    }
 
  相关解决方案