Home  >  Article  >  php教程  >  php实现的漂亮分页方法

php实现的漂亮分页方法

WBOY
WBOYOriginal
2016-06-13 09:37:26684browse

分页页码显示算法

复制代码 代码如下:


/**
  * 获取分页的HTML内容
  * @param integer $page 当前页
  * @param integer $pages 总页数
  * @param string $url 跳转url地址    最后的页数以 '&page=x' 追加在url后面
  *
  * @return string HTML内容;
  */
 public static function getPageHtml($page, $pages, $url){
  //最多显示多少个页码
  $_pageNum = 5;
  //当前页面小于1 则为1
  $page = $page  //当前页大于总页数 则为总页数
  $page = $page > $pages ? $pages : $page;
  //页数小当前页 则为当前页
  $pages = $pages
  //计算开始页
  $_start = $page - floor($_pageNum/2);
  $_start = $_start  //计算结束页
  $_end = $page + floor($_pageNum/2);
  $_end = $_end>$pages? $pages : $_end;

  //当前显示的页码个数不够最大页码数,在进行左右调整
  $_curPageNum = $_end-$_start+1;
  //左调整
  if($_curPageNum1){ 
   $_start = $_start - ($_pageNum-$_curPageNum);
   $_start = $_start   $_curPageNum = $_end-$_start+1;
  }
  //右边调整
  if($_curPageNum   $_end = $_end + ($_pageNum-$_curPageNum);
   $_end = $_end>$pages? $pages : $_end;
  }

  $_pageHtml = '

    ';
      /*if($_start == 1){
       $_pageHtml .= '
  • «
  • ';
      }else{
       $_pageHtml .= '
  • «
  • ';
      }*/
      if($page>1){
       $_pageHtml .= '
  • «
  • ';
      }
      for ($i = $_start; $i    if($i == $page){
        $_pageHtml .= '
  • '.$i.'
  • ';
       }else{
        $_pageHtml .= '
  • '.$i.'
  • ';
       }
      }
      /*if($_end == $pages){
       $_pageHtml .= '
  • »
  • ';
      }else{
       $_pageHtml .= '
  • »
  • ';
      }*/
      if($page   $_pageHtml .= '
  • »
  • ';
      }
      $_pageHtml .= '
';
  echo $_pageHtml;
 }

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn