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 相关文章推荐
PHP5.5和之前的版本empty函数的不同之处
Jun 13 PHP
Thinkphp多文件上传实现方法
Oct 31 PHP
php单一接口的实现方法
Jun 20 PHP
PHP版QQ互联OAuth示例代码分享
Jul 05 PHP
php实现json编码的方法
Jul 30 PHP
为你总结一些php系统类函数
Oct 21 PHP
php图片添加文字水印实现代码
Mar 15 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
Jun 06 PHP
Smarty模板配置实例简析
Jul 20 PHP
PHP与SQL语句写一句话木马总结
Oct 11 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
ADODB的数据库封包程序库
2006/12/31 PHP
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
php mysql索引问题
2008/06/07 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
thinkPHP批量删除的实现方法分析
2016/11/09 PHP
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
如何动态的导入js文件具体该怎么实现
2014/01/14 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
微信小程序 wxParse插件显示视频问题
2019/09/27 Javascript
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
python实现图书管理系统
2018/03/12 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
python+mysql实现教务管理系统
2019/02/20 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
会计专业毕业生自我评价
2013/09/25 职场文书
2015年药店店长工作总结
2015/04/29 职场文书
java中重写父类方法加不加@Override详解
2021/06/21 Java/Android
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript
springboot+zookeeper实现分布式锁
2022/03/21 Java/Android
MSSQL基本语法操作
2022/04/11 SQL Server