Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305262
  • 博文数量: 111
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 707
  • 用 户 组: 普通用户
  • 注册时间: 2013-02-26 11:00
个人简介

小伙向前冲呀,小伙向前冲呀。

文章分类

全部博文(111)

文章存档

2014年(43)

2013年(68)

我的朋友

分类: PHP

2014-04-17 21:22:36

php实现的漂亮分页代码。
页码显示算法:

  1. <?
  2. /**
  3.   * 获取分页的HTML内容
  4.   * @param integer $page 当前页
  5.   * @param integer $pages 总页数
  6.   * @param string $url 跳转url地址 最后的页数以 '&page=x' 追加在url后面
  7.   *
  8.   * @return string HTML内容;
  9.   */
  10.  public static function getPageHtml($page, $pages, $url){
  11.   //最多显示多少个页码
  12.   $_pageNum = 5;
  13.   //当前页面小于1 则为1
  14.   $page = $page<1?1:$page;
  15.   //当前页大于总页数 则为总页数
  16.   $page = $page > $pages ? $pages : $page;
  17.   //页数小当前页 则为当前页
  18.   $pages = $pages < $page ? $page : $pages;

  19.   //计算开始页
  20.   $_start = $page - floor($_pageNum/2);
  21.   $_start = $_start<1 ? 1 : $_start;
  22.   //计算结束页
  23.   $_end = $page + floor($_pageNum/2);
  24.   $_end = $_end>$pages? $pages : $_end;

  25.   //当前显示的页码个数不够最大页码数,在进行左右调整
  26.   $_curPageNum = $_end-$_start+1;
  27.   //左调整
  28.   if($_curPageNum<$_pageNum && $_start>1){
  29.    $_start = $_start - ($_pageNum-$_curPageNum);
  30.    $_start = $_start<1 ? 1 : $_start;
  31.    $_curPageNum = $_end-$_start+1;
  32.   }
  33.   //右边调整
  34.   if($_curPageNum<$_pageNum && $_end<$pages){
  35.    $_end = $_end + ($_pageNum-$_curPageNum);
  36.    $_end = $_end>$pages? $pages : $_end;
  37.   } //

  38.   $_pageHtml = '
      ';
    •   /*if($_start == 1){
    •    $_pageHtml .= '
    • ?
    • ';
    •   }else{
    •    $_pageHtml .= '
    • ?
    • ';
    •   }*/
    •   if($page>1){
    •    $_pageHtml .= '
    • .$url.'&page='.($page-1).'">?
    • ';
    •   }
    •   for ($i = $_start; $i <= $_end; $i++) {
    •    if($i == $page){
    •     $_pageHtml .= '
    • '.$i.'
    • ';
    •    }else{
    •     $_pageHtml .= '
    • .$url.'&page='.$i.'">'.$i.'
    • ';
    •    }
    •   }
    •   /*if($_end == $pages){
    •    $_pageHtml .= '
    • ?
    • ';
    •   }else{
    •    $_pageHtml .= '
    • ?
    • ';
    •   }*/
    •   if($page<$_end){
    •    $_pageHtml .= '
    • .$url.'&page='.($page+1).'">?
    • ';
    •   }
    •   $_pageHtml .= '
    '
    ;
  39.   echo $_pageHtml;
  40.  }
您可能感兴趣的文章:

















阅读(1055) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~