栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

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

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

测试图例:

效果图:

实现代码:

 
  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博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/43955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号