首页 > 开发 > PHP > 正文

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

2024-05-04 23:42:45
字体:
来源:转载
供稿:网友
网页的分页选择效果直接影响用户的使用体验。类似功能的方法有很多,我在这里写的方法主要是的优势在于前后端分离,可以自己定义长度和分页的行数
 

测试图例:

网页的分页下标生成代码(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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表