PHP原生分页

 

控制器:

 public function page()
    {
        $page = $data['page'] ?? 1;                  // 第几页
        $pageSize = $data['pageSize'] ?? 5;          // 每页数量

        $list = new TestModel();
        $result = $list->list($page,$pageSize);
        return $result;
    }

 

 

 

模型层:TestModel

 public function list($page,$pageSize)
    {
        $sql = "select * from ". $this->table;

        if ($pageSize > -1) {
            $offset = ($page - 1) * $pageSize;
            $sql .= " limit " . $offset . "," . $pageSize;
            $result = DB::select($sql);
            $total = Db::select("select count(*)  as num from {$this->table}"); //总条数
            return ['list' => $result, 'page' => $page, 'pageSize' => $pageSize, 'total' => $total[0]->num];
        }
    }

 

 

方法二:

        //查找数据
        $data = DB::table('shop')->select('id','shop_name')->get()->toArray();

        //当前页数
        $page = !empty($data['page']) ? $data['page'] : 1;

        //每页展示条数
        $pageSize = !empty($data['pageSize']) ? $data['pageSize'] : 3;
        $start = ($page - 1) * $pageSize;
        
        $pageData['list'] = array_slice($data, $start, $pageSize);
        $pageData['page'] = $page;          //  页码
        $pageData['pageSize'] = $pageSize;  //  每页条数
        $pageData['total'] = count($data);  //  总数
        return $pageData;

 

posted @ 2021-06-02 23:27  满眼都是她  阅读(101)  评论(0)    收藏  举报