BX

想得却不可得 你耐人生何

博客园 首页 新随笔 联系 订阅 管理

简单php分页,作为备忘录。

 /**
     * 获取所有数据(带分页)
     * @param  string   $table  表名
     * @param  int  $pageNow    显示第几页,默认1
     * @param  string   $where where条件
     * @param  int  $pageSize    每页几条记录,默认5
     * @param bool  $restriction    是否显示分页越界默认限制
     * @author bx
     */
    public function getPageData($table, $pageNow = 1, $where = '', $pageSize = 10,$restriction = true) {
        if(!empty($where)) {
            $where = "where $where";
        }
        $sqlCount = "SELECT count(1) countnum FROM `{$table}` {$where}";
        //获取总页数
        $countData = $this->db->query_first($sqlCount);
        //获取可分页数
        $pageCount = ceil($countData['countnum'] / $pageSize);
        if ($restriction) {
            //限制分页越界
            $pageNow = min($pageCount,max(1,$pageNow));
        }
        $offset = ($pageNow - 1) * $pageSize;
        $sql = "SELECT * FROM `{$table}` {$where} limit {$offset},{$pageSize}";
        return array(
            'pageNow'   => $pageNow,//当前页码
            'pageCount' => $pageCount, //一共多少页
            'pageData'  => $this->db->dataArray($sql),
            'pagePre'   => $pageNow - 1, //上一页
            'pageNex'   => $pageNow + 1, //下一页
        );
    }

 

posted on 2016-03-09 18:47  iBX  阅读(221)  评论(0编辑  收藏  举报