<?php //自定义分页类 class Page { public $page=1; //当前页 public $pageSize=5; //页大小 public $maxPage=0; //最大页数 public $maxRows=0; //最大数据条 public $url =null; //访问的url地址 public $params=null; //url的参数条件 public function __construct($maxRows,$pageSize=5){ $this->maxRows = $maxRows; $this->pageSize= $pageSize; //获取当前页 $this->page = isset($_GET['p'])?$_GET['p']:1; $this->getMaxPage(); $this->checkPage(); //获取和封装url地址 $this->url = $_SERVER["PHP_SELF"]; $this->getParams(); } //获取分页信息 public function limit(){ return (($this->page-1)*$this->pageSize).",".$this->pageSize; } //计算分页中的最大页数 private function getMaxPage(){ $this->maxPage = ceil($this->maxRows/$this->pageSize); } //判断当前页数是否越界 private function checkPage(){ if($this->page>$this->maxPage){ $this->page = $this->maxPage; } if($this->page<1){ $this->page=1; } } //封装url上搜索条件 private function getParams(){ foreach($_GET as $k=>$v){ if($k!="p" && !empty($v)){ $this->params.="&{$k}={$v}"; } } } //生成分页HTML代码 public function show(){ $str = ""; $str.= "当前第{$this->page}/{$this->maxPage}页 共计{$this->maxRows}条 "; $str.= " <a href='{$this->url}?p=1{$this->params}'>首页</a> "; $str.= " <a href='{$this->url}?p=".($this->page-1)."{$this->params}'>上一页</a> "; $str.= " <a href='{$this->url}?p=".($this->page+1)."{$this->params}'>下一页</a> "; $str.= " <a href='{$this->url}?p={$this->maxPage}{$this->params}'>末页</a> "; return $str; } }
php面向对象分页类代码
原创
©著作权归作者所有:来自51CTO博客作者w0rdyyp的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:php面向对象之单表操作类
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
php面向对象之文件上传类
php面向对象之文件上传类
php 面向对象 文件上传类 -
PHP中面向对象的图片处理类
PHP中面向对象的图片处理类,实现了添加水印和等比缩放的功能。
PHP 面向对象 图片处理 -
PHP中面向对象的文件上传类
PHP中面向对象的文件上传类。
PHP 文件 上传类