您好,欢迎访问一九零五行业门户网

自己开发的分页类,可以适用于各种使用原生sql的场景

跳至 [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
2. [代码][php]代码 跳至 [1] [2] [全屏预览] getcount(); // we suppose there is a model can do sql query// 获取当前页数,此处是从get参数中获取$current_page = isset($_get['page']) ? $_get['page'] : 1;// 实例化page类$page = new page($count, $current_page);// 查询当前页需要展示的信息,使用sql的limit$data = $model->query()->limit($page->getcurrentnum(), $page->getperpagenum());// 现在就可以使用一系列的get方法来获取你需要在页面上展示的信息了// 把 $data , $current_page 和 $page->getpages() 传递给视图,想要怎么样展示就看你的意愿了。// $page->getpages()可以自动获取当前页数附近的几页,返回一个数组,直接在前台展示即可。?>
其它类似信息

推荐信息