php带数字分页函数(亲测无错版)php
php带数字分页函数(亲测无错版)...
function getPageHtml($page, $pages, $_pageNum, $url){ //$page 当前页 //$pages 总页数 //$_pageNum 显示多少个数字分页 //$url 跳转url地址,最后的页数以'&page=x'追加在url后面 //当前页面小于1 则为1 $page = $page<1?1:$page; //当前页大于总页数 则为总页数 $page = $page > $pages ? $pages : $page; //页数小当前页 则为当前页 $pages = $pages < $page ? $page : $pages; //计算开始页 $_start = $page - floor($_pageNum/2); $_start = $_start<1 ? 1 : $_start; //计算结束页 $_end = $page + floor($_pageNum/2); $_end = $_end>$pages? $pages : $_end; //当前显示的页码个数不够最大页码数,在进行左右调整 $_curPageNum = $_end-$_start+1; //左调整 if($_curPageNum<$_pageNum && $_start>1){ $_start = $_start - ($_pageNum-$_curPageNum); $_start = $_start<1 ? 1 : $_start; $_curPageNum = $_end-$_start+1; } //右边调整 if($_curPageNum<$_pageNum && $_end<$pages){ $_end = $_end + ($_pageNum-$_curPageNum); $_end = $_end>$pages? $pages : $_end; } if($page == 1){ $_pageHtml .= '<a>首页</a>'; }else{ $_pageHtml .= '<a href="'.$url.'&page=1">首页</a>'; } if($page>1){ $_pageHtml .= '<a href="'.$url.'&page='.($page-1).'">上一页</a>'; } for ($i = $_start; $i <= $_end; $i++) { if($i == $page){ $_pageHtml .= '<a>'.$i.'</a>'; }else{ $_pageHtml .= '<a href="'.$url.'&page='.$i.'">'.$i.'</a>'; } } if($page<$_end){ $_pageHtml .= '<a href="'.$url.'&page='.($page+1).'">下一页</a>'; } if($page == $pages){ $_pageHtml .= '<a>尾页</a>'; }else{ $_pageHtml .= '<a href="'.$url.'&page='.$pages.'">尾页</a>'; } echo $_pageHtml; }
上一篇:PHP分页类分享
我要评论