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 配置文件中open_basedir选项作用
Jul 19 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
Jun 26 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
PHP实现GIF图片验证码
Nov 04 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
TP3.2框架分页相关实现方法分析
Jun 03 PHP
浅谈PHP之ThinkPHP框架使用详解
Jul 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中for循环语句的几种变型
2007/03/16 PHP
PHP伪造referer实例代码
2008/09/20 PHP
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP之header函数详解
2021/03/02 PHP
javascript Math.random()随机数函数
2009/11/04 Javascript
jQuery入门知识简介
2010/03/04 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
python中使用xlrd、xlwt操作excel表格详解
2015/01/29 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
python实现图像拼接
2020/03/05 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Python文件时间操作步骤代码详解
2020/04/13 Python
Python super()函数使用及多重继承
2020/05/06 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
手术室护士长竞聘书
2014/03/31 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书