|
|
@@ -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(
|