Part1:实例

 1 /**
 2  * 取得上次的过滤条件
 3  * @param   string  $param_str  参数字符串,由list函数的参数组成
 4  * @return  如果有,返回array('filter' => $filter, 'sql' => $sql);否则返回false
 5  */
 6 function get_filter($param_str = '')
 7 {
 8     $filterfile = basename(PHP_SELF, '.php');//string basename ( string $path [, string $suffix ] )
                             返回路径中的文件名部分
如果文件名是以 suffix 结束的,那这一部分也会被去掉。 
 9     if ($param_str)
10     {
11         $filterfile .= $param_str;
12     }
13     if (isset($_GET['uselastfilter']) && isset($_COOKIE['ECSCP']['lastfilterfile'])
14         && $_COOKIE['ECSCP']['lastfilterfile'] == sprintf('%X', crc32($filterfile)))
15     {
16         return array(
17             'filter' => unserialize(urldecode($_COOKIE['ECSCP']['lastfilter'])),
18             'sql'    => base64_decode($_COOKIE['ECSCP']['lastfiltersql'])
19         );
20     }
21     else
22     {
23         return false;
24     }
25 }
 1 /**
 2  * 保存过滤条件
 3  * @param   array   $filter     过滤条件
 4  * @param   string  $sql        查询语句
 5  * @param   string  $param_str  参数字符串,由list函数的参数组成
 6  */
 7 function set_filter($filter, $sql, $param_str = '')
 8 {
 9     $filterfile = basename(PHP_SELF, '.php');
10     if ($param_str)
11     {
12         $filterfile .= $param_str;
13     }
14     setcookie('ECSCP[lastfilterfile]', sprintf('%X', crc32($filterfile)), time() + 600);
15     setcookie('ECSCP[lastfilter]',     urlencode(serialize($filter)), time() + 600);
16     setcookie('ECSCP[lastfiltersql]',  base64_encode($sql), time() + 600);
17 }

 

  1 /**
  2  * 供货商资源管理
  3  * @param    bool    $is_pagtion
  4  * @return    array   $arr
  5  */
  6 function suppliers_resource_manage($is_pagtion=true)
  7 {
  8     global $db,$ecs;
  9     $result = get_filter();
 10     if ($result === false)
 11     {
 12         $aiax = isset($_GET['is_ajax']) ? $_GET['is_ajax'] : 0;
 13         /* 过滤信息 */
 14         $filter['sort_by'] = empty($_REQUEST['sort_by']) ? 'r.resource_id' : trim($_REQUEST['sort_by']);
 15         $filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']);
 16         $filter['resource_id'] = empty($_REQUEST['resource_id'])  ? '' : $_REQUEST['resource_id'];
 17         $filter['admin_name'] = empty($_REQUEST['admin_name'])  ? '' : trim($_REQUEST['admin_name']);
 18         $filter['resource_name'] = empty($_REQUEST['resource_name'])  ? '' : trim($_REQUEST['resource_name']);
 19         $filter['admin_id']  = isset($_REQUEST['admin_id'])?intval($_REQUEST['admin_id']):'-1';
 20         $filter['resource_type'] = empty($_REQUEST['resource_type']) ? '-1' : intval($_REQUEST['resource_type']);
 21         $filter['resource_status'] = empty($_REQUEST['resource_status']) ? '-1' : intval($_REQUEST['resource_status']);
 22         $filter['resource_rank'] = empty($_REQUEST['resource_rank']) ? '-1' : intval($_REQUEST['resource_rank']);
 23         $filter['resource_key'] = empty($_REQUEST['resource_key'])  ? '' : trim($_REQUEST['resource_key']);
 24         $filter['menuid'] = 7; 
 25         $where = 'WHERE 1 ';
 26         /* 分页大小 */
 27         $filter['page'] = empty($_REQUEST['page']) || (intval($_REQUEST['page']) <= 0) ? 1 : intval($_REQUEST['page']);
 28 
 29         if (isset($_REQUEST['page_size']) && intval($_REQUEST['page_size']) > 0)
 30         {
 31             $filter['page_size'] = intval($_REQUEST['page_size']);
 32         }
 33         elseif (isset($_COOKIE['ECSCP']['page_size']) && intval($_COOKIE['ECSCP']['page_size']) > 0)
 34         {
 35             $filter['page_size'] = intval($_COOKIE['ECSCP']['page_size']);
 36         }
 37         else
 38 
 39         {
 40             $filter['page_size'] = 15;
 41         }
 42         
 43         if(!empty($filter['resource_id']))
 44         {
 45             $resource_id = $filter['resource_id'] == -1 ? 0 : $filter['resource_id'];
 46             $where .= " and r.resource_id='".$resource_id."'";
 47         }
 48         if($filter['resource_name']){
 49             $where .= " AND r.resource_name like '%".mysql_like_quote($filter['resource_name'])."%' ";
 50         }
 51         if($filter['admin_id'] > -1)
 52         {
 53             $where .= " AND r.admin_id = '".$filter['admin_id']."' ";
 54         }
 55         if ($filter['resource_type'] > -1) 
 56         {
 57             $where .= " AND r.resource_type = '" . $filter['resource_type'] . "'";
 58         }
 59         if ($filter['resource_status'] > -1) 
 60         {
 61             $where .= " AND r.resource_status = '" . $filter['resource_status'] . "'";
 62         }
 63         if ($filter['resource_rank'] > -1) 
 64         {
 65             $where .= " AND r.resource_rank = '" . $filter['resource_rank'] . "'";
 66         }
 67         if($filter['resource_key']){
 68             $where .= " AND r.remark like '%".mysql_like_quote($filter['resource_key'])."%' ";
 69         }
 70         /* 记录总数 */
 71         $sql = "SELECT COUNT(r.resource_id) FROM " . $ecs->table('suppliers_resource')." as r 
 72                     LEFT JOIN ".$ecs->table('admin_user') . " as u
 73                         ON u.user_id = r.admin_id  " . $where;
 74         $filter['record_count']   = $db->getOne($sql);
 75         $filter['page_count']     = $filter['record_count'] > 0 ? ceil($filter['record_count'] / $filter['page_size']) : 1;
 76         /* 查询 */
 77         $sql = "SELECT r.resource_id, u.user_name as admin_name, r.resource_name, r.resource_link, r.resource_type, r.resource_status, r.resource_rank, r.remark, r.add_time FROM " . $ecs->table('suppliers_resource') . " as r 
 78                     LEFT JOIN " . $ecs->table('admin_user') . " as u ON u.user_id = r.admin_id  " . $where;
 79 
 80         $sort_by  = $filter['sort_by'];
 81         $sort_order = $filter['sort_order'];
 82         $sql .="GROUP BY r.resource_id ORDER BY " . $sort_by . " " . $sort_order;
 83         if($is_pagtion)
 84         {
 85             $sql .=" LIMIT ".($filter['page'] - 1)*$filter['page_size'].",".$filter['page_size'];
 86         }
 87         set_filter($filter, $sql);
 88     }
 89     else
 90     {
 91         $sql    = $result['sql'];
 92         $filter = $result['filter'];
 93     }
 94     $query=$sql;
 95 
 96     $row = $db->getAll($sql);
 97     /* 格式话数据 */
 98     foreach ($row AS $key => $value)
 99     {   
100         if ($row[$key]['resource_type'] == 1) {
101             $row[$key]['resource_type'] = '中模';
102         }elseif ($row[$key]['resource_type'] == 2) {
103             $row[$key]['resource_type'] = '泳装';
104         }elseif ($row[$key]['resource_type'] == 3) {
105             $row[$key]['resource_type'] = '阿里';
106         }elseif ($row[$key]['resource_type'] == 2) {
107             $row[$key]['resource_type'] = '17网';
108         }
109         if ($row[$key]['resource_status'] == 1) {
110             $row[$key]['resource_status'] = '已审核';
111         }elseif ($row[$key]['resource_status'] == 2) {
112             $row[$key]['resource_status'] = '已弃用';
113         }
114         if ($row[$key]['resource_rank'] == 1) 
115         {
116             $row[$key]['resource_rank'] = 'A';
117         }elseif ($row[$key]['resource_rank'] == 2) {
118             $row[$key]['resource_rank'] = 'B';
119         }elseif ($row[$key]['resource_rank'] == 3) {
120             $row[$key]['resource_rank'] = 'C';
121         }
122         if(strpos($row[$key]['resource_link'], 'http://') === false)
123         {
124             if (strpos($row[$key]['resource_link'], 'https://') === false) 
125             {
126                 $row[$key]['resource_link'] = substr_replace($row[$key]['resource_link'], 'http://', 0, 0);
127             }
128         }
129     }
130     $arr = array('result' => $row, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count'],'query'=>$query);
131     return $arr;
132 } 
View Code

相关文章: