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
mysql下创建字段并设置主键的php代码
May 16 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
PHP安全技术之 实现php基本安全
Sep 04 PHP
使用PHP遍历文件夹与子目录的函数代码
Sep 26 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
Aug 04 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
Apr 21 PHP
PHP的PDO连接讲解
Jan 24 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 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 什么是PEAR?(第二篇)
2009/03/19 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
打包发布Python模块的方法详解
2016/09/18 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
Python多进程写入同一文件的方法
2019/01/14 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
怎样自定义一个异常类
2016/09/27 面试题
医学院学生求职简历的自我评价
2013/10/24 职场文书
手机业务员岗位职责
2013/12/13 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
大学毕业生推荐信
2014/07/09 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
党校个人总结
2015/03/04 职场文书