当前位置:首页 > PHP教程 > php分页 > 列表

php怎么写分页?php实现的漂亮分页方法

发布:smiling 来源: PHP粉丝网  添加日期:2018-07-17 13:27:45 浏览: 评论:0 

分页页码显示算法.

  1. /** 
  2.   * 获取分页的HTML内容 
  3.   * @param integer $page 当前页 
  4.   * @param integer $pages 总页数 
  5.   * @param string $url 跳转url地址    最后的页数以 '&page=x' 追加在url后面 
  6.   *  
  7.   * @return string HTML内容; 
  8.   */ 
  9.  public static function getPageHtml($page$pages$url){ 
  10.   //最多显示多少个页码 
  11.   $_pageNum = 5; 
  12.   //当前页面小于1 则为1 
  13.   $page = $page<1?1:$page
  14.   //当前页大于总页数 则为总页数 
  15.   $page = $page > $pages ? $pages : $page
  16.   //页数小当前页 则为当前页 
  17.   $pages = $pages < $page ? $page : $pages
  18.  
  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.   //当前显示的页码个数不够最大页码数,在进行左右调整 
  27.   $_curPageNum = $_end-$_start+1; 
  28.   //左调整 
  29.   if($_curPageNum<$_pageNum && $_start>1){   
  30.    $_start = $_start - ($_pageNum-$_curPageNum); 
  31.    $_start = $_start<1 ? 1 : $_start
  32.    $_curPageNum = $_end-$_start+1; 
  33.   } 
  34.   //右边调整 
  35.   if($_curPageNum<$_pageNum && $_end<$pages){  
  36.    $_end = $_end + ($_pageNum-$_curPageNum); 
  37.    $_end = $_end>$pages$pages : $_end
  38.   } 
  39.  
  40.   $_pageHtml = '<ul class="pagination">'
  41.   /*if($_start == 1){ 
  42.    $_pageHtml .= '<li><a title="第一页">&laquo;</a></li>'; 
  43.   }else{ 
  44.    $_pageHtml .= '<li><a  title="第一页" href="'.$url.'&page=1">&laquo;</a></li>'; 
  45.   }*/ 
  46.   if($page>1){ 
  47.    $_pageHtml .= '<li><a  title="上一页" href="'.$url.'&page='.($page-1).'">&laquo;</a></li>'
  48.   } 
  49.   for ($i = $_start$i <= $_end$i++) { 
  50.    if($i == $page){ 
  51.     $_pageHtml .= '<li class="active"><a>'.$i.'</a></li>'
  52.    }else
  53.     $_pageHtml .= '<li><a href="'.$url.'&page='.$i.'">'.$i.'</a></li>'
  54.    } 
  55.   } 
  56.   /*if($_end == $pages){ 
  57.    $_pageHtml .= '<li><a title="最后一页">&raquo;</a></li>'; 
  58.   }else{ 
  59.    $_pageHtml .= '<li><a  title="最后一页" href="'.$url.'&page='.$pages.'">&raquo;</a></li>'; 
  60.   }*/ 
  61.   if($page<$_end){ 
  62.    $_pageHtml .= '<li><a  title="下一页" href="'.$url.'&page='.($page+1).'">&raquo;</a></li>'
  63.   } 
  64.   $_pageHtml .= '</ul>'
  65.   echo $_pageHtml
  66.  } 

 

Tags: 方法

分享到: