php封装的page分页类完整实例


Posted in PHP onOctober 18, 2016

本文实例讲述了php封装的page分页类。分享给大家供大家参考,具体如下:

类文件:

<?php
  //分页工具类
  class Page{
    /*
     * 获取分页字符串
     * @param1 string $uri,分页要请求的脚本url
     * @param3 int $counts,总记录数
     * @param4 int $length,每页显示的记录数
     * @param5 int $page = 1,当前页码
     * @return string,带有a标签的,可以点击发起请求的字符串
    */
    public static function getPageStr($uri,$counts,$length,$page = 1){
      //构造一个能够点击的字符串
      //得到数据显示的字符串
      $pagecount = ceil($counts/$length);        //总页数
      $str_info = "当前一共有{$counts}条记录,每页显示{$length}条记录,一共{$pagecount}页,当前是第{$page}页";
      //生成可以操作的连接:首页 上一页 下一页 末页
      //求出上一页和下一页页码
      $prev = ($page <= 1) ? 1 : $page - 1;
      $next = ($page >= $pagecount) ? $pagecount : $page + 1;
      $str_click = <<<END
        <a href="{$uri}?page=1">首页</a>
        <a href="{$uri}?page={$prev}">上一页</a>
        <a href="{$uri}?page={$next}">下一页</a>
        <a href="{$uri}?page={$pagecount}">末页</a>
END;
      //按照页码分页字符串
      $str_number = '';
      for($i = 1;$i <= $pagecount;$i++){
        $str_number .= "<a href='{$uri}?page={$i}'>{$i}</a> ";
      }
      //下拉框分页字符串:利用js的onchang事件来改变当前脚本的href
      $str_select = "<select onchange=\"location.href='{$uri}?page='+this.value\">";
      //将所有的页码放入到option
      for($i = 1;$i <= $pagecount;$i++){
        if($i == $page)
          $str_select .= "<option value='{$i}' selected='selected'>{$i}</option>";
        else
          $str_select .= "<option value='{$i}'>{$i}</option>";
      }
      $str_select .= "</select>";
      //返回值
      return $str_info . $str_click . $str_number . $str_select;
    }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php htmlspecialchars加强版
Feb 16 PHP
PHP下常用正则表达式整理
Oct 26 PHP
PHP面向对象概念
Nov 06 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
php截取字符串函数分享
Feb 02 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
搭建自己的PHP MVC框架详解
Aug 16 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 #PHP
Thinkphp实现短信验证注册功能
Oct 18 #PHP
php基于单例模式封装mysql类完整实例
Oct 18 #PHP
php封装的mysqli类完整实例
Oct 18 #PHP
PHP实现文件上传下载实例
Oct 18 #PHP
Yii实现文章列表置顶功能示例
Oct 18 #PHP
Yii统计不同类型邮箱数量的方法
Oct 18 #PHP
You might like
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
实现超用户体验 table排序javascript实现代码
2009/06/22 Javascript
Javascript 汉字字节判断
2009/08/01 Javascript
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python切换hosts文件代码示例
2013/12/31 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
python求最大连续子数组的和
2018/07/07 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
python递归下载文件夹下所有文件
2019/08/31 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
cf搞笑广告词
2014/03/14 职场文书
学历公证书范本
2014/04/09 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
Python IO文件管理的具体使用
2022/03/20 Python
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫