1. 简介
封装了一个分页类,方便以后取用。
只是一个简单的封装,可以在这个基础上进行改造,优化代码啊,增加配置啊什么的。
效果大概是这样:
往下点会变成:
2. 代码
/**
* 自定义分页类
* @param $totalNum int 总数量
* @param $current int 当前页面
* @param $limit int 一页多少个
* @param $baseUrl string url
* @param $pageParams array 额外参数
* @return string
*/
public function getPagination($totalNum, $current, $limit, $baseUrl, $pageParams)
{
$totalPage = intval(ceil($totalNum / $limit));//总页数
$params = '';
if (!empty($pageParams)){
foreach ($pageParams as $k => $v){
$params .= '&'.$k.'='.$v;
}
}
$output = '<ul class="pagination">';
if ($totalPage < 10){
for ($i=1; $i<=$totalPage; $i++){
if ($current == $i){
$output .= '<li class="active"><a href="'. $baseUrl .'?page='. $i.$params .'">'. $i .'</a></li>';
}else{
$output .= '<li><a href="'. $baseUrl .'?page='. $i.$params .'">'. $i .'</a></li>';
}
}
} else {
$next = $current+1;
$last = $current-1;
$nextnext = $current+2;
$lastlast = $current-2;
if ($current == 1){
for ($i=1; $i<=3; $i++){
if ($current == $i){
$output .= '<li class="active"><a href="'. $baseUrl .'?page='. $i.$params .'">'. $i .'</a></li>';
}else{
$output .= '<li><a href="'. $baseUrl .'?page='. $i.$params .'">'. $i .'</a></li>';
}
}
$output .= '<li class="disabled"><a href="#">...</a></li>';
$output .= '<li><a href="'. $baseUrl .'?page='. $totalPage.$params .'">'. $totalPage .'</a></li>';
$output .= '<li><a href="'. $baseUrl .'?page='. $next.$params .'">»</a></li>';
} else {
if ($lastlast >= 1){
if ($lastlast == 1){
$output .= '<li><a href="'. $baseUrl .'?page=1'.$params.'">1</a></li>';
}else{
$output .= '<li><a href="'. $baseUrl .'?page='. $next.$params .'">«</a></li>';
$output .= '<li><a href="'. $baseUrl .'?page=1'.$params.'">1</a></li>';
$output .= '<li class="disabled"><a href="#">...</a></li>';
$output .= '<li><a href="'. $baseUrl .'?page='. $lastlast.$params .'">'. $lastlast .'</a></li>';
}
}
if ($last >= 1) {
$output .= '<li><a href="'. $baseUrl .'?page='. $last.$params .'">'. $last .'</a></li>';
}
$output .= '<li class="active"><a href="'. $baseUrl .'?page='. $current.$params .'">'. $current .'</a></li>';
if ($next <= $totalPage){
$output .= '<li><a href="'. $baseUrl .'?page='. $next.$params .'">'. $next .'</a></li>';
}
if ($nextnext <= $totalPage){
if ($nextnext == $totalPage){
$output .= '<li><a href="'. $baseUrl .'?page='. $totalPage.$params .'">'. $totalPage .'</a></li>';
}else{
$output .= '<li><a href="'. $baseUrl .'?page='. $nextnext.$params .'">'. $nextnext .'</a></li>';
$output .= '<li class="disabled"><a href="#">...</a></li>';
$output .= '<li><a href="'. $baseUrl .'?page='. $totalPage.$params .'">'. $totalPage .'</a></li>';
$output .= '<li><a href="'. $baseUrl .'?page='. $next.$params .'">»</a></li>';
}
}
}
}
$output .= '</ul>';
return $output;
}
0 条评论
来做第一个留言的人吧!