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 相关文章推荐
PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
Aug 21 PHP
php设计模式 State (状态模式)
Jun 26 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
Mar 05 PHP
php实现的验证码文件类实例
Jun 18 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
Smarty分页实现方法完整实例
May 11 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
Dec 07 PHP
Laravel框架自定义验证过程实例分析
Feb 01 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
php过滤敏感词的示例
2014/03/31 PHP
php遍历解析xml字符串的方法
2016/05/05 PHP
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
jquery结婚电子请柬特效源码分享
2015/08/21 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
JS前端加密算法示例
2016/12/22 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
js实现小时钟效果
2020/03/25 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
python赋值操作方法分享
2013/03/23 Python
Python解释执行原理分析
2014/08/22 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
pytorch数据预处理错误的解决
2020/02/20 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
如何提高JDBC的性能
2013/04/30 面试题
师范毕业生求职信
2014/07/11 职场文书
元旦趣味活动方案
2014/08/22 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
工程合作意向书范本
2015/05/09 职场文书
离婚案件被告代理词
2015/05/23 职场文书
golang 实现Location跳转方式
2021/05/02 Golang
HTML基本元素标签介绍
2022/02/28 HTML / CSS
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
Nginx报404错误的详细解决方法
2022/07/23 Servers