网页的分页下标生成代码(PHP后端方法)


Posted in PHP onFebruary 03, 2016

测试图例:

网页的分页下标生成代码(PHP后端方法)

效果图:

网页的分页下标生成代码(PHP后端方法)

实现代码:

/**
   *
   * @param $page   页码(1至正无穷)
   * @param $num   数据中多上行为一页
   * @param $rows   数据的总行数
   * @param $length  下标的最大长度
   * @return array
   */
  public function PageDate($page, $num , $rows , $length){
    //初始化数据
    $MaxPage = 0;         //最大页码
    $MinPage = 0;         //最小页码
    $ServerPage = 0;        //下拉框中显示的页码
    $PageData = array();      //全部的页码集合(用户下拉框选择)
    $PageShowData = array();    //用于显示下标的页码集合
    $page = intval($page);
 
    if($rows == 0){
      return $data = array(
        'page' => $page,
        'MaxPage' => $MaxPage,
        'MinPage' => $MinPage,
        'ServerPage' => $ServerPage,
        'PageData' => $PageData,
        'PageShowData' => $PageShowData
      );
    }
 
    //得到最大分页和最小分页
    $MaxPage = intval($rows / $num);
    $double = $rows % $num;
    if($double > 0.000000001)
    {
      $MaxPage += 1;
    }
    $MinPage = 1;
    $ServerPage = 1;
    //得到页码的全部项目
    for($i = 1; $i <= $MaxPage; $i++ ){
      $PageData[$i] = $i;
    }
    //对页码进行正确性改正
    if($page < $MinPage){
      $page = 1;
    }
 
    if($page > $MaxPage){
      $page = 1;
    }
    /*生成显示的页码标签*/
      //生成左侧的代码快
      if($page == $MinPage){
        $PageShowData[1] = $page;
      }
      if($page > $MinPage){
        $PageShowData[1] = $MinPage;
//        $PageShowData[2] = $page - 1; // <<
        $PageShowData[2] = '<<'; // <<
        if($page -2 > $MinPage ){
          $PageShowData[3] = $page - 2;
          $PageShowData[4] = $page - 1;
        }elseif($page -2 == $MinPage){
          $PageShowData[3] = $page - 1;
        }
        //确定选中的页码代码快
        $PageShowData[count($PageShowData) + 1] = $page;
      }
    $COUNT = count($PageShowData) + 1;
    //生成右侧的代码块
      if($page == $MaxPage){
        return $data = array(
          'page' => $page,
          'MaxPage' => $MaxPage,
          'MinPage' => $MinPage,
          'ServerPage' => $ServerPage,
          'PageData' => $PageData,
          'PageShowData' => $PageShowData
        );
      }
      if($page < $MaxPage) {
        if($MaxPage - $page >= 2){
          $j = 1;
          for($i = $COUNT; $i <= $length ; $i++){
            $PageShowData[$i] = $page + $j;
            $j ++;
            if($PageShowData[$i] == $MaxPage -1){
                 break;
              }
          }
        }
 
        $COUNT = count($PageShowData) + 1;
//        $PageShowData[$COUNT] = $page + 1; //>>
        $PageShowData[$COUNT] = '>>';
        $PageShowData[$COUNT + 1] = $MaxPage;
 
        //得到选中的参数
        $ServerPage = $PageShowData[$COUNT-1] + 1;
        if($ServerPage > $MaxPage){
          $ServerPage = 1;
        }
 
        return $data = array(
          'page' => $page,
          'MaxPage' => $MaxPage,
          'MinPage' => $MinPage,
          'ServerPage' => $ServerPage,
          'PageData' => $PageData,
          'PageShowData' => $PageShowData
        );
      }
  }

本文出自 IT985博客

PHP 相关文章推荐
用php将任何格式视频转为flv的代码
Sep 03 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
fgetcvs在linux的问题
Jan 15 PHP
基于PHP array数组的教程详解
Jun 05 PHP
解析argc argv在php中的应用
Jun 24 PHP
php基本函数汇总
Jul 09 PHP
PHP概率计算函数汇总
Sep 13 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
详解PHP中websocket的使用方法
Sep 15 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
使用phpQuery获取数组的实例
Mar 13 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 #PHP
Symfony学习十分钟入门经典教程
Feb 03 #PHP
php开发时容易忘记的一些技术细节
Feb 03 #PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 #PHP
PHP实现的构造sql语句类实例
Feb 03 #PHP
PHP快速生成各种信息提示框的方法
Feb 03 #PHP
PHP实现原比例生成缩略图的方法
Feb 03 #PHP
You might like
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
理解Javascript_09_Function与Object
2010/10/16 Javascript
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
Python实现把xml或xsl转换为html格式
2015/04/08 Python
python hook监听事件详解
2018/10/25 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
报关报检委托书
2014/04/08 职场文书
《泉水》教学反思
2014/04/11 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
美食节策划方案
2014/05/26 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
小学生暑假安全公约
2015/07/14 职场文书
采购员工作总结范文
2015/08/12 职场文书
浅谈Python类的单继承相关知识
2021/05/12 Python