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 ob_flush,flush在ie中缓冲无效的解决方法
May 09 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
PHP 面向对象程序设计(oop)学习笔记 (五) - PHP 命名空间
Jun 12 PHP
PHP基于imap获取邮件实例
Nov 11 PHP
php表单敏感字符过滤类
Dec 08 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
PHP接口并发测试的方法(推荐)
Dec 15 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
php中字符串和整数比较的操作方法
Jun 06 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 判断变量类型实现代码
2009/10/23 PHP
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
2018/04/24 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
jquery 使用简明教程
2014/03/05 Javascript
JavaScript动态添加列的方法
2015/03/25 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
最常见和最有用的字符串相关的方法详解
2017/02/06 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
node.js 如何监视文件变化
2020/09/01 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
EM算法的python实现的方法步骤
2018/01/02 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
英国办公家具网站:Furniture At Work
2019/10/07 全球购物
投诉信范文
2015/07/02 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
关于感恩的作文
2019/08/26 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
golang import自定义包方式
2021/04/29 Golang
Element实现动态表格的示例代码
2021/08/02 Javascript