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中实现图片的锐化
Oct 09 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 PHP
PHP中feof()函数实例测试
Aug 23 PHP
php设计模式之简单工厂模式详解
Sep 04 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
php中opendir函数用法实例
Nov 15 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Dec 21 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
Jun 15 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 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
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
php 处理png图片白色背景色改为透明色的实例代码
2018/12/10 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
javascript格式化日期时间方法汇总
2015/06/19 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python读写文件方法总结
2015/06/09 Python
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
Django中的文件的上传的几种方式
2018/07/23 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
python 调用钉钉机器人的方法
2019/02/20 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
python中二分查找法的实现方法
2020/12/06 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
一道SQL面试题
2012/12/31 面试题
C#基础面试题
2016/10/17 面试题
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
化学教育专业自荐信
2014/07/04 职场文书
初婚未育证明样本
2015/06/18 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书