php写分页类
来源:互联网 发布:淘宝领的优惠券在哪里 编辑:程序博客网 时间:2024/06/11 10:35
写了个php分页类 功能还算可以 以后慢慢完善 里面有我的注释 分页公式需要熟记。
<?php /* 分页是我们读取数据库显示内容必须要用到的所谓分页,也就是将数据库中的结果集人为的分为一段一段来显示需要参数当前第几页? GET每页多少条? pageSize总记录数? total公式 (当前页码 -1) * 每页几条 , 每页几条*/class Page { private $total = null;private $page = null;private $pageNum = null;private $pageSize = null;public $limit = null;private $url;private $offset = 3;public function __construct ($_total,$_pageSize = 10) { $this->total = $_total;$this->pageSize = $_pageSize;$this->pageNum = ceil($this->total / $this->pageSize);$this->page = $this->getPage();$this->url = $this->setUrl();$this->limit = ($this->page-1)*$this->pageSize .",".$this->pageSize;}private function getPage () { $_page = (int)$_GET['page'];if(empty($_page) || $_page <= 0) return 1;if($_page > $this->pageNum) return $this->pageNum;return $_page;}public function setUrl () { $_url = $_SERVER['REQUEST_URI'];$_url = parse_url($_url);if(isset($_url['query'])) { parse_str($_url['query'],$query);unset($query['page']);$_url = $_url['path'].'?'.http_build_query($query); } else { $_url = $_url['path']; } return $_url;}//数字分页private function numPage () {for($i=$this->offset;$i>=1;$i--) {$_page = $this->page-$i;if ($_page < 1) continue; $numPage .= '[<a href="'.$this->url.'&page='.($this->page-$i).'">'.($this->page-$i).'</a>]';}$numPage .= '[<a href="'.$this->url.'&page='.($this->page).'">'.($this->page).'</a>]';for($i=1;$i<=$this->offset;$i++) {$_page = $this->page +$i;if ($_page > $this->pageNum) break; $numPage .= '[<a href="'.$this->url.'&page='.($this->page+$i).'">'.($this->page+$i).'</a>]';}return $numPage;}//首页private function first () { if($this->page > $this->offset+1) { return '[<a href="'.$this->url.'&page=1">1</a>]...'; }}//上一页private function prev () {return '<a href="'.$this->url.'&page='.($this->page-1).'">上一页</a>';}//下一页private function next () {return '<a href="'.$this->url.'&page='.($this->page+1).'">下一页</a>';}//尾页private function last () { if($this->pageNum - $this->page > $this->offset ) {return '...[<a href="'.$this->url.'&page='.$this->pageNum.'">'.$this->pageNum.'</a>]';}}public function showPage () { $data = ""; $data .= $this->first();$data .= $this->numPage();$data .= $this->last();$data .= $this->prev();$data .= $this->next();return $data;} }?>
分页样式
过往云烟 2010/06/28
- php写分页类
- php自己写的分页类:::>>>
- 自己写的一个php分页类
- 分享我第一次写的PHP+MYSQL分页类
- 【PHP】php 分页类
- 模仿PHP写的ASP 分页
- ajax+php写的无刷新分页
- 用asp分页逻辑写了个php的分页
- PHP分页代码 PHP分页类 PHP分页实例
- 【php基础】PHP分页类
- [PHP实例] PHP分页类
- 自己写的一个php分页类,支持onclick和详细定制参数
- PHP分页类
- php通用分页类
- 超强PHP分页类
- php分页类
- PHP多功能分页类
- php分页类使用方法
- 线程和进程的关系之比喻
- 聚集索引和非聚集索引
- 6/28/2011 3:05:09 PM
- [短码基础] 神奇的位运算
- MyEclipse 安装出错小插曲
- php写分页类
- Eclipse Plugin 国际化 (一)
- 如何在VC中调用asm函数
- be depressed
- 字符编码笔记:ASCII,Unicode和UTF-8
- ProtoBuf应用
- 第一次,恩,练练手,看看怎么发表博客
- ETL的过程原理和数据仓库建设
- 海量数据高并发高负载解决方案