소스 검색

修改bug

chenbo 4 년 전
부모
커밋
8821e5a819
3개의 변경된 파일54개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      api/v1.0/index_recent_days.php
  2. 6 0
      lib/index_day_k.class.php
  3. 47 0
      lib/table/table.class.php

+ 1 - 1
api/v1.0/index_recent_days.php

@@ -37,7 +37,7 @@ try {
         'code' => array($code, '=s'),
         'date' => array($start_date, '<=n'),
     );
-    $stock_info = Index_day_k::getList($filter, 0, 0, 0, $order, $traceback_days);
+    $stock_info = Index_day_k::getListOrderByDate($filter, 0, 0, 0, $order, $traceback_days);
 
     if(!empty($stock_info)){
         $params=array();

+ 6 - 0
lib/index_day_k.class.php

@@ -32,6 +32,12 @@ class Index_day_k {
         return $Table_index_day_k->getList();
     }
 
+    static public function getListOrderByDate($filter = array(), $count=0, $page=0, $pagesize=0, $order=0, $limit = 0)
+    {
+        $Table_index_day_k = new Table_index_day_k();
+        return $Table_index_day_k->getListOrderByDate($filter, $count, $page, $pagesize, $order, $limit);
+    }
+
     static public function addOrUpdateByCodeDate($attrs)
     {
         if (empty($attrs)) throw new Exception('参数不能为空', 101);

+ 47 - 0
lib/table/table.class.php

@@ -164,6 +164,53 @@ abstract class Table {
         }
     }
 
+    //获取列表(分页)
+    //$count、$page和$pagesize都为0时,返回全部结果(适用于无需分页的情况)
+    //
+    //@param $filter array -- 过滤条件,格式见Table::filterToWhere
+    //@param $count -- 0:返回列表 1:返回结果数量
+    //@param $page -- 当前第几页
+    //@param $pagesize -- 每页数量
+    // $page 参数 和  $limit 不能同时使用,只能使用一个对limit进行限制
+    //本函数与 getList 区别在于,使用date字段进行排序,没有date字段的表不能使用本函数
+    public function getListOrderByDate($filter = array(), $count = 0, $page = 0, $pagesize = 0, $order = 0, $limit = 0){
+        $where = $this->filterToWhere($filter);
+        $orderByStr = (empty($order) ? 'asc' : 'desc');
+
+        if($count == 0){//列表
+            $sql = "select * from ". $this->table_fullname ." $where order by ".$this->table_name."_date ".$orderByStr;
+
+            if($page > 0){//分页
+                $startrow = ($page - 1) * $pagesize;
+                $sql_limit = " limit $startrow, $pagesize";
+                $sql .= $sql_limit;
+            } else if ($limit > 0) {
+                $sql_limit = " limit $limit ";
+                $sql .= $sql_limit;
+            }
+
+            $rs  = $this->pdo->sqlQuery($sql);
+            $r   = array();
+            if($rs){
+                foreach($rs as $key => $val){
+                    $r[$key] = $this->dataToAttr($val);
+                }
+                return $r;
+            }else{
+                return $r;
+            }
+
+        }else{//统计
+            $sql = "select count(*) as c from ". $this->table_fullname . " $where ";
+            $rs  = $this->pdo->sqlQuery($sql);
+            if($rs){
+                return $rs[0]['c'];
+            }else{
+                return 0;
+            }
+        }
+    }
+
 	//删
 	public function del($id){
 		$where = array(