封装好的分页类
2016-07-29 19:44
169 查看
提示:仅供参考 page.class.php 在CODE上查看代码片派生到我的代码片 <meta charset="utf8"> <style> a { display:inline-block; border:1px solid #ccc; text-decoration:none; padding:5px; margin:20px 3px; color:#333; } .apage{ background:#ccc; } .disable{ border:1px solid #ccc; color:#ccc; } </style> <?php require "mysql.class.php"; class page { private $total; private $number=10; private $pagecount; public $limit; private $url; private $page; function __construct($total,$number,$url) { $this->total=$total; $this->number=$number; $this->pagecount=ceil($this->total/$this->number); $this->getpage(); $this->url=$url; $this->limit="limit ".$this->setlimit(); } private function getpage(){ $this->page=(isset($_GET['page'])&&!empty($_GET['page']))?$_GET['page']:1; if(preg_match('/\D/',$this->page)){ $this->page=1; } if($this->page<=0){ $this->page=1; } if($this->page > $this->pagecount){ $this->page=$this->pagecount; } } private function setlimit(){ $start=($this->page-1)*$this->number; return ($start.','.$this->number); } private function setnumber($num){ $str=""; if($this->pagecount<=$num){ for($i=1;$i<=$this->pagecount;$i++){ if($this->page==$i){ $str.= "<a href='".$this->url."?page=".$i."' class='apage'>".$i."</a>"; }else{ $str.= "<a href='".$this->url."?page=".$i."'>".$i."</a>"; //echo "<a href='demo1.php?page=".$i ."&number=".$number."'>".$i."</a>"; } } }else{ if($this->page<=ceil($num/2)){ for($i=1;$i<=$num;$i++){ //给当前页加一个灰色的背景 if($this->page==$i){ $str.= "<a href='".$this->url."?page=".$i."' class='apage'>".$i."</a>"; }else{ $str.= "<a href='".$this->url."?page=".$i."'>".$i."</a>"; } } }elseif($this->page>=$this->pagecount-floor($num/2)){ //当前页在后3页时,能实现的效果是,点击后三页的时候,分页不会动 for($i=$this->pagecount-$num-1;$i<=$this->pagecount;$i++){ //给当前页加一个灰色的背景 if($this->page==$i){ $str.= "<a href='".$this->url."?page=".$i."' class='apage'>".$i."</a>"; }else{ $str.= "<a href='".$this->url."?page=".$i."'>".$i."</a>"; } } }else{ //将当前页放在中间页数时 for($i=$this->page-floor($num/2);$i<=$this->page+floor($num/2);$i++){ if($this->page==$i){ $str.= "<a href='".$this->url."?page=".$i."' class='apage'>".$i."</a>"; }else{ $str.= "<a href='".$this->url."?page=".$i."'>".$i."</a>"; } } } } return $str; } public function fpage($number=false,$num=5){ $str=""; if($this->page==1){ $str.="<a href='javascript:void(0);' class='disable'>首页</a>"; $str.="<a href='javascript:void(0);' class='disable'>上一页</a>"; }else{ $str.="<a href='".$this->url."?page=1'>首页</a>"; $str.="<a href='".$this->url."?page=".($this->page-1)."'>上一页</a>"; } if($number){ $str.=$this->setnumber($num); } if($this->page==$this->pagecount){ $str.="<a href='javascript:void(0);' class='disable'>下一页</a>"; $str.="<a href='javascript:void(0);' class='disable'>尾页</a>"; }else{ $str.="<a href='".$this->url."?page=".($this->page+1)."'>下一页</a>"; $str.="<a href='".$this->url."?page=".$this->pagecount."'>尾页</a>"; } return $str; } } 2.显示出来 在CODE上查看代码片派生到我的代码片 <?php include "libs/Smarty.class.php"; include "page.class.php"; $smarty=new Smarty(); //include "mysql.class.php"; //连接数据库 $mysql=new Mysql('127.0.0.1','root','root','1408phpe'); //查询总条数 $total=$mysql->counts("select * from exam8 "); //$sql="select * from exam8 "; $page=new page($total,2,'show1.php'); $sql="select * from exam8 $page->limit"; $a=$mysql->select_all($sql); $smarty->assign('arr',$a); $smarty->display('show1.tpl'); echo"<p align='left'>".$page->fpage(true)."</p>";
相关文章推荐
- 分页类的封装
- 封装好的文件分页类
- php显示页码分页类的封装
- 封装的一个完整的分页类
- 常用类封装--分页类
- 封装好的PHP分页类,简单好用--在开源看到的,取回来自己用
- 封装简单分页类的实现
- php封装一个显示页码的分页类
- 分页类的封装
- php封装的page分页类完整实例
- PHP+MySql实现的简单分页类的封装
- 封装好的分页类
- php封装的page分页类完整实例
- ssm中封装的分页类
- 自定义MVC框架之工具类-分页类的封装
- 封装好的分页类
- 理解 Delphi 的类(六) - 认识类的封装
- muduo 19 EventLoop类的封装
- 安卓笔记-封装的HttpUtils
- PHP实现适用于文件内容操作的分页类