Created
November 13, 2013 06:51
-
-
Save codeachange/7444811 to your computer and use it in GitHub Desktop.
分页函数,输出结果兼容bootstrap pagination样式
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function paginate($baseurl,$total,$perpage,$curpage,$numlinks=10){ | |
$return = '<div class="pagination"><ul>'; | |
$pages = ceil($total/$perpage); | |
// 如果当前页大于总页数或小于1,则设置当前页为第一页 | |
$curpage = ($curpage > $pages || $curpage < 1) ? 1 : $curpage; | |
if($pages > 0){ | |
// 首页 上一页 | |
if($curpage != 1){ | |
$return .= '<li class="first"><a href="'.$baseurl.'1">首页</a></li><li class="prev"><a href="'.$baseurl.($curpage-1).'">上一页</a></li>'; | |
}else{ | |
$return .= '<li class="first disabled"><a href="javascript:;">首页</a></li><li class="prev disabled"><a href="javascript:;">上一页</a></li>'; | |
} | |
// 数字 | |
$min_num = max(1,$curpage - floor($numlinks/2)); | |
$max_num = min($pages, $min_num + $numlinks - 1); | |
if ($max_num - $min_num + 1 < $numlinks) { | |
$min_num = max(1, $min_num - ($numlinks - ($max_num - $min_num + 1))); | |
} | |
for ($i=$min_num; $i <= $max_num; $i++) { | |
if ($i == $curpage) { | |
$return .= '<li class="active"><a href="javascript:;">'.$curpage.'</a></li>'; | |
} else { | |
$return .= '<li><a href="'.$baseurl.$i.'">'.$i.'</a></li>'; | |
} | |
} | |
// 下一页 尾页 | |
if($curpage != $pages){ | |
$return .= '<li class="next"><a href="'.$baseurl.($curpage+1).'">下一页</a></li><li class="last"><a href="'.$baseurl.($pages).'">尾页</a></li>'; | |
}else{ | |
$return .= '<li class="next disabled"><a href="javascript:;">下一页</a></li><li class="last disabled"><a href="javascript:;">尾页</a></li>'; | |
} | |
} | |
return $return.'</ul></div>'; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment