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;


浙公网安备 33010602011771号