自己开发的分页类,可以适用于各种使用原生sql的场景
程序员文章站
2022-06-05 22:36:42
...
跳至
[1]
[2]
[全屏预览]
totle_number = $totle_number; $this->per_page_number = $per_page_number; $this->totle_pages = $totle_number == 0 ? 1 : (($totle_number % $per_page_number == 0) ? floor($totle_number / $per_page_number) : floor($totle_number / $per_page_number) + 1); $this->current_page = $current_page > $this->totle_pages ? $this->totle_pages : $current_page current_page; } /** * 获取总共页数 * * @return integer 总共页数 */ public function getTotlePages(){ return $this->totle_pages; } /** * 获取当前查询应该从何处开始 * * @return integer 当前查询应该开始的地方 */ public function getCurrentNum(){ return ($this->current_page - 1) * $this->per_page_number; } /** * 获取每页数量 * * @return integer 每页数量 */ public function getPerPageNum(){ return $this->per_page_number; } /** * 获取前台显示的页数 * * @param integer $max_show_page_number 最大显示的页数,默认为5 * @return Array 包含了页数信息的数组 */ public function getPages($max_show_page_number = 5){ if($max_show_page_number > $this->totle_pages){ return $this->createArray(1, $this->totle_pages); } $half = floor($max_show_page_number / 2); if($this->current_page totle_pages / 2)){ if($this->current_page createArray(1, $max_show_page_number); }else{ return $this->createArray($this->current_page - $half + 1, $this->current_page - $half + $max_show_page_number); } }else{ if($this->totle_pages - $this->current_page createArray($this->totle_pages - $max_show_page_number, $this->totle_pages - 1); }else{ return $this->createArray($this->current_page + $half - $max_show_page_number, $this->current_page + $half - 1); } } } /** * 创建一个数组,数组的值从$start 到 $end * * @param integer $start 数值开始的值 * @param integer $end 数组结束的值 * @param integer $step 数组的值增长的步长,默认为1 * @return Array 如果步长为0返回空数组,如果步长大于0,返回从小到大排序的值,反之返回从大到小排序的值 */ private function createArray($start, $end, $step = 1){ if($step == 0){ return []; } $result = []; for($i = 0; $i
上一篇: SEO
下一篇: 安全初始化MySQL服务器