欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > php >内容正文

php

PHP 分页类 高洛峰 细说PHP

发布时间:2025/4/16 php 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 PHP 分页类 高洛峰 细说PHP 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

分页类

<?php //分页类class Page{private $total;          //总记录数private $nums;        //每页显示的条数private $pages;       //总页数private $cpage;      //当前页private $url;           //当前urlpublic  function __construct($total,$nums){$this->total      =     $total;$this->nums     =     $nums;$this->pages    =      $this->getPages();$this->url         =      $this->setUrl();//获取当前页$this->cpage   =    !empty($_GET['page']) ? intval($_GET['page']):1;$this->cpage   =    $this->cpage>0 ?$this->cpage:1;$this->cpage   =    $this->cpage>$this->pages?$this->pages:$this->cpage;}private function setUrl(){$url    =   $_SERVER['REQUEST_URI'];if(strstr($url, "?")){$arr = parse_url($url);if(isset($arr['query'])){parse_str($arr['query'],$output);}//删除url中重复的page=n的字符串unset($output['page']);$url = $arr['path']."?".http_build_query($output);}else{$url .="?";}return $url;}//获取页数private function getPages(){return  ceil($this->total/$this->nums);// 向上取整法}//首页private function first(){//如果当前页是第一页 则不显示这些if($this->cpage>1){$pre    =   $this->cpage-1;return '<a href="'.$this->url.'&page=1">首页</a>&nbsp;&nbsp;<a href="'.$this->url.'&page='.$pre.'">上一页</a>';}else{return '';}                       }//列表private function flist(){$list       =   "";$num    =   4;//当前页之前的设置for($i=$num;$i >=1;$i--){$page   =   $this->cpage-$i;if($page >1){$list      .=  '&nbsp;<a href="'.$this->url.'&page='.$page.'">'.$page.'</a>&nbsp;';}}//当前页的设置if($this->pages>1){$list   .='&nbsp;'.$this->cpage.'&nbsp;';}//当前页之后的设置for($i=1;$i <=$num;$i++){$page   =   $this->cpage+$i;if($page <= $this->pages){$list      .=  '&nbsp;<a href="'.$this->url.'&page='.$page.'">'.$page.'</a>&nbsp;';}else{break;}                            }return $list;}//末页private function last(){if($this->cpage < $this->pages){$next    =   $this->cpage+1;return '<a href="'.$this->url.'&page='.$next.'">下一页</a>&nbsp;&nbsp;<a href="'.$this->url.'&page='.$this->pages.'">末页</a> ';}else{return '';}}//开始    从多少条记录开始private function start(){return  ($this->cpage-1)*$this->nums+1;}//结束    到多少条记录结束private function end(){return  min($this->cpage*$this->nums,$this->total);}//当前显示的条数private function currnum(){return $this->end()-$this->start()+1;}//分页方法public function fpage(){$arr =  func_get_args();$fpage ="";$pages[0]="&nbsp;共{$this->total}条记录&nbsp;";$pages[1]="&nbsp;本页显示".$this->currnum()."条记录&nbsp;";$pages[2]="&nbsp;从".$this->start()."-".$this->end()."条&nbsp;";$pages[3]="&nbsp;{$this->cpage}/{$this->pages}&nbsp;";$pages[4]="&nbsp;".$this->first()."&nbsp;";$pages[5]="&nbsp;".$this->flist()."&nbsp;";$pages[6]="&nbsp;".$this->last()."&nbsp;";if(count($arr)<1)$arr    =   array(0,1,2,3,4,5,6);foreach($arr as $n){$fpage  .=  $pages[$n];}return $fpage;}}

调用分页类

        include 'print.php';$page = new Page(1000,10);echo $page->fpage(6,4,5);


转载于:https://blog.51cto.com/11410485/1842273

总结

以上是生活随笔为你收集整理的PHP 分页类 高洛峰 细说PHP的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。