Page分页类
来源:互联网 发布:linux php.ini 编辑:程序博客网 时间:2024/05/18 20:09
<?phpheader("Content-Type:text/html;charset=utf-8");/* 封装分页类 * 1.定义成员属性* 2.构造出口方法* 3.总页数和当前页* 4.首页和上一页* 5.中间的数字页* 6.下一页和尾页 */class Page{ //定义成员属性 public $total;//总记录数 public $pagesize;//每页的记录数 public $totalpage;//总页数 public $curpage;//当前页 public $url;//当前的链接地址 //构造出口方法,给成员属性赋初值 function __construct($total,$pagesize){ $this->total= $total; $this->pagesize= $pagesize; $this->totalpage = $this->totalPage(); $this->curpage = $this->curPage(); $this->url = $this->getUrl(); } //定义出口程序 function Pages(){ echo "共".$this->totalpage."页 当前第".$this->curpage."页 ".$this->first().$this->pageNum().$this->last(); } //总页数 function totalPage(){ $totalpage = ceil($this->total/$this->pagesize); return $totalpage; } //当前页 function curPage(){ $curpage = isset($_GET["page"])?$_GET["page"]:1; if ($curpage<1){ $curpage = 1; }elseif ($curpage>$this->totalpage && $this->totalpage!=0){ $curpage = $this->totalpage; } return $curpage; } //首页和上一页 function first(){ $prev = $this->curpage-1; $link = ""; if($prev>0){ $link.="<a href='{$this->getUrl()}page=1'>首页 </a><a href='{$this->getUrl()}page=$prev'>上一页 </a>"; } return $link; } //中间的数字页 function pageNum(){ $link = ""; $bothnum = 3;//当前页对应的两边的页数 for($i=$bothnum;$i>=1;$i--){ //当前页对应的前面的页 $page = $this->curpage -$i; if($page>0){ $link.="<a href='{$this->getUrl()}page=$page'>$page</a> "; } } $link.="<font color='red'>$this->curpage</font> "; for($i=1;$i<=$bothnum;$i++){ //当前页对应的后面的页 $page = $this->curpage+$i; if($page<=$this->totalpage){ $link.="<a href='{$this->getUrl()}page=$page'>$page</a> "; } } return $link; } //尾页和下一页 function last(){ $next = $this->curpage+1; $link = ""; if($next<=$this->totalpage){ $link.= "<a href='{$this->getUrl()}page=$next'>下一页</a><a href='{$this->getUrl()}page=$this->totalpage'> 尾页</a>"; } return $link; } function getUrl(){ //获取URL地址 $url = $_SERVER["REQUEST_URI"]; //拆分url地址 $parse_array = parse_url($url); if(@ $parse_array["query"]){ parse_str($parse_array["query"],$url_array); unset($url_array["page"]); if(empty($url_array)){ return $parse_array["path"]."?"; }else{ return $parse_array["path"]."?".http_build_query($url_array)."&"; } }else{ return $url."?"; } }}$p=new Page(52,3);$p->Pages();
0 0
- 分页 Page 类
- PHP分页类Page
- java分页类Page
- Page分页类
- page分页工具类
- JAVA 分页类 Page Pager page
- Page分页
- Page分页
- Page分页
- 分页page
- thinkphp的page类js无刷新分页page方法
- thinkphp的page类js无刷新分页page方法
- page分页工具类 数据库端
- 【Java公共类】分页Page开发
- 【ThinkPHP学习】Page分页类学习
- PHP通用分页类-page.php
- [thinkphp] page类整合bootstrap分页样式
- php中的分页类Page的用法
- git 配置文件冲突解决办法
- AppWeb或云打分时,附加分相关问题
- CSS学习笔记:text-shadow
- mybatis 注解开发
- HTTP协议详解
- Page分页类
- Python 3.5 shutil Copy example
- 学习笔记--mysql explain
- 人脸检测----(java+opencv)
- linux安装nodejs、cnpm、pm2
- 开篇
- FFMPEG 视频解码流程
- Ajax请求数据提示org.apache.struts2.json.JSONException错误
- LeetCode 380---Insert Delete GetRandom O(1)