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判断字符以及字符串的包含方法属性
Aug 30 PHP
PHP 开源AJAX框架14种
Aug 24 PHP
PHP与C#分别格式化文件大小的代码
May 14 PHP
使用PHP遍历文件夹与子目录的函数代码
Sep 26 PHP
phpmyadmin3 安装配置图解教程
Mar 29 PHP
php牛逼的面试题分享
Jan 18 PHP
PHP插入排序实现代码
Apr 04 PHP
简单的php新闻发布系统教程
May 09 PHP
php curl 上传文件代码实例
Apr 27 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
Apr 16 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
小米公司JavaScript面试题
2014/12/29 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
python中import学习备忘笔记
2017/01/24 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
Python如何解除一个装饰器
2020/08/07 Python
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
质检部部长职责
2013/12/16 职场文书
人事行政主管岗位职责
2013/12/22 职场文书
高中化学教学反思
2014/01/13 职场文书
大学四年的个人自我评价
2014/01/14 职场文书
创意活动策划书
2014/01/15 职场文书
银行服务感言
2014/03/01 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
倡议书格式及范文
2015/04/29 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python
Java版 简易五子棋小游戏
2022/05/04 Java/Android