PHP封装的完整分页类示例


Posted in PHP onAugust 21, 2018

本文实例讲述了PHP封装的完整分页类。分享给大家供大家参考,具体如下:

<?php 
class pageclass{
  private $total;   //总记录
  private $pagesize;   //每页显示多少条
  private $limit;    //limit
  private $page;    //当前页
  private $pagenum;  //总页码
  private $url;    //地址
  public function __construct($_total,$_pagesize,$page){
    $this->total = $_total ? $_total :1 ;  //总条数
    $this->pagesize = $_pagesize;      //每页显示多少条
    $this->page = $page;          //当前页码
    $this->pagenum = ceil($this->total / $this->pagesize);  //总页码
    $this->limit = "limit ".($this->page-1)*$this->pagesize.",".$this->pagesize;  //分页语句
    $this->url = $this->setUrl();  //地址
  }
  //分页语句
  public function limit(){
    return $this->limit;
  }
  //当前的url地址
  public function setUrl(){
    $server = $_SERVER['REQUEST_URI'];
    $im = explode('/',$server);
    if(empty($_SERVER['PATH_INFO'])){
      $array = array_splice($im,2,0,array('2'=>'index.php'));
    }
    $controller = $im[3];
    $action = $im[4];
    if(empty($_SERVER['PATH_INFO'])){
      $servers = "http://".$_SERVER['HTTP_HOST']."/".$im[1]."/".$controller."/".$action."/";
    }else{
      $servers = "http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."/".$controller."/".$action."/";
    }
    return $servers;
    //return $im;
  }
  //首页
  public function first(){
    //return $this->page;
    if($this->page > 1){
      return "<a href='".$this->url."page/1'>首页</a>";
    }
  }
  //上一页
  public function prev(){
    if($this->page==1){
      $page = 1;
    }else{
      $page = $this->page-1;
    }
    if($this->page > 1){
      return "<a href='".$this->url."page/".$page."'>上一页</a>";
    }else{
      return "<span class='disabled'>上一页</span>";
    }
  }
  //下一页
  public function next(){
    $page = $this->page+1;
    if($this->page < $this->pagenum){
      if(empty($this->page)){
        $pages = $this->page+2;
        return "<a href='".$this->url."page/".$pages."'>下一页</a>";
      }else{
        return "<a href='".$this->url."page/".$page."'>下一页</a>";
      }
    }else{
      return "<span class='disabled'>下一页</span>";
    }
  }
  //尾页
  public function last(){
    if($this->page < $this->pagenum){
      return "<a href='".$this->url."page/".$this->pagenum."'>尾页</a>";
    }
  }
  //分页
  public function showpage(){
    $page_ = "";
    $page_ .= $this->first();
    $page_ .= " ".$this->prev();
    $page_ .= " ".$this->next();
    $page_ .= " ".$this->last();
    return $page_;
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
如何在PHP程序中防止盗链
Apr 09 PHP
PHP 压缩文件夹的类代码
Nov 05 PHP
一个简单php扩展介绍与开发教程
Aug 19 PHP
用php解析html的实现代码
Aug 08 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
使用php统计字符串中中英文字符的个数
Jun 23 PHP
PHP使用NuSOAP调用Web服务的方法
Jul 18 PHP
php精确的统计在线人数的方法
Oct 21 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 #PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 #PHP
PHP依赖注入原理与用法分析
Aug 21 #PHP
PHP 二维array转换json的实例讲解
Aug 21 #PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 #PHP
php 将json格式数据转换成数组的方法
Aug 21 #PHP
php正确输出json数据的实例讲解
Aug 21 #PHP
You might like
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
2009/07/18 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
2018/05/07 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
利用python获得时间的实例说明
2013/03/25 Python
python生成器的使用方法
2013/11/21 Python
python之PyMongo使用总结
2017/05/26 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
教师批评与自我批评心得体会
2014/10/16 职场文书
师德承诺书
2015/01/20 职场文书
养成教育工作总结
2015/08/13 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技