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实现与ASP Banner组件相似的类
Oct 09 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
php实现字符串反转输出的方法
Mar 14 PHP
使用PHPCMS搭建wap手机网站
Sep 20 PHP
yii权限控制的方法(三种方法)
Dec 28 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
Jul 03 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
PHP设计模式之组合模式定义与应用示例
Feb 01 PHP
PHP终止脚本运行三种实现方法详解
Sep 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
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
js中的屏蔽的使用示例
2013/07/30 Javascript
javascript scrollTop正解使用方法
2013/11/14 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
详解vue-router传参的两种方式
2018/09/10 Javascript
Python列表list数组array用法实例解析
2014/10/28 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
python机器学习之神经网络实现
2018/10/13 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
python__new__内置静态方法使用解析
2020/01/07 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
python 绘制正态曲线的示例
2020/09/24 Python
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
如何写求职信
2014/05/24 职场文书
法学求职信
2014/06/22 职场文书
授权委托书样本
2014/09/25 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
员工规章制度范本
2015/08/07 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers