css直接用thinkphp3的即可,上代码咯:
public function show_navigate($currentpage,$countpage) { $page = $currentpage; $pages = $countpage; $url = U('Bomoutfactory/left'); //最多显示多少个页码 $_pageNum = 5; //当前页面小于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; } $_pageHtml = "<a class='a1'>共".$countpage."页</a>"; if($_start == 1){ // 本注释 $_pageHtml .= '<a title="">第一页</a>'; }else{ $_pageHtml .= '<a title="" href="'.$url.'&page=1">第一页</a>'; } if($page>1){ $_pageHtml .= '<a title="" href="'.$url.'&page='.($page-1).'">上一页</a>'; } for ($i = $_start; $i <= $_end; $i++) { if($i == $page){ $_pageHtml .= '<span>'.$i.'</span>'; }else{ $_pageHtml .= '<a href="'.$url.'&page='.$i.'">'.$i.'</a>'; } } if($page<$_end){ $_pageHtml .= '<a title="" href="'.$url.'&page='.($page+1).'">下一页</a>'; } if($_end == $pages){ // 本注释 $_pageHtml .= '<a title="">最后一页</a>'; }else{ $_pageHtml .= '<a title="" href="'.$url.'&page='.$pages.'">最后一页</a>'; } //$_pageHtml .= '</ul>'; return $_pageHtml; }