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文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
Jun 06 PHP
php实现下载限制速度示例分享
Feb 13 PHP
php5.2以下版本无json_decode函数的解决方法
May 25 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
PHP中读取文件的8种方法和代码实例
Aug 05 PHP
PHP网站开发中常用的8个小技巧
Feb 13 PHP
PHP多态代码实例
Jun 26 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 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
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
javascript实现英文首字母大写
2015/04/23 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
运动检测ViBe算法python实现代码
2018/01/09 Python
python字典快速保存于读取的方法
2018/03/23 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
python 实现倒排索引的方法
2018/12/25 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
《寓言两则》教学反思
2014/02/27 职场文书
建议书怎么写
2014/03/12 职场文书
记账会计岗位职责
2014/06/16 职场文书
党员先进事迹材料
2014/12/19 职场文书
催款函范文
2015/06/24 职场文书
Python实现Hash算法
2022/03/18 Python