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下正则来匹配dede模板标签的代码
Aug 21 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
PHP人民币金额数字转中文大写的函数代码
Feb 27 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
Apr 02 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
PHP实现数组和对象的相互转换操作示例
Mar 20 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 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
apache和PHP如何整合在一起
2015/10/12 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
Javascript基础 函数“重载” 详细介绍
2013/10/25 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
分享python数据统计的一些小技巧
2016/07/21 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
python游戏地图最短路径求解
2019/01/16 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
如何利用pygame实现简单的五子棋游戏
2019/12/29 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
英国综合网上购物商城:The Hut
2018/07/03 全球购物
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
大学生就业自我鉴定
2013/10/26 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
分层教学实施方案
2014/03/19 职场文书
《搭石》教学反思
2014/04/07 职场文书
年检委托书
2014/08/30 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
学校社团活动总结
2015/05/07 职场文书
学前教育见习总结
2015/06/23 职场文书
安全教育主题班会总结
2015/08/14 职场文书
技术转让协议书
2016/03/19 职场文书
股东协议书范本2016
2016/03/21 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang