|
发表于 2017-6-30 11:53:56
|
显示全部楼层
可以结合BOOSTRAP的按钮样式自己写个辅助函数。
function page_nav($baseurl="",$total=0,$step=10,$page=0,$navnum=10) {
/*
本函建立分页导航,返回bootstra样式的HTML字符串
$baseurl: 如: article/index/
$total: 记录总数量
$step: 每页数量
$page: 当前页数,第一页为0,第二页为1,第三页为2,...
$navnum: 定义显示出来的页数列表,即无论多少页,只显示规定的页面数量如:
首页 << 11 12 13 14 15 16 17 18 19 20 21 >> 末页775
(这是可选参数,不要与step混淆)
*/
if($total<=0 || $total<=$step) return false;
if(substr($baseurl,-1)!='/'){$baseurl.='/';}
$maxPage=ceil($total/$step)-1;
$maxNavPage=ceil($maxPage/$navnum);
$startpage=floor($page/$navnum)*$navnum;
$endpage=$startpage+$navnum-1;
$str="\n\n <nav class=\"text-right\">\n <ul class=\"pagination\" style=\"margin:0;pading:0;\">\n";
if($maxNavPage>1 && $page>=$navnum) {$str.=" <li>".anchor($baseurl,"首页")."</li>\n";}
if($page>=$navnum) $str.=" <li>".anchor($baseurl.($startpage-1),"<<")."</li>\n";
for($i=$startpage;$i<=$endpage;$i++) {
if($i>$maxPage) break;
$active=($i==$page)?"class='active'":"";
$str.=" <li $active>".anchor($baseurl.$i,$i+1)."</li>\n";
}
if($maxNavPage>1 && $endpage<$maxPage) $str.=" <li>".anchor($baseurl.($endpage+1),">>")."</li>\n";
if($maxNavPage>1 && $endpage<$maxPage) $str.=" <li>".anchor($baseurl.$maxPage,"尾页".($maxPage+1))."</li>\n";
$str.=" </ul>\n </nav>\n\n";
return $str;
} |
|