之前在用thinkphp做项目的时候,感觉他的分页函数用着不习惯,自己琢磨着写了一个分页函数,放到这里来,用到的时候可以直接照搬。
public function pagination($count,$page,$limit,$show_page=5){
//总页码 = 总数据量/每一页的数据量 $pagesize
$pagesize = ceil( $count/$limit);
//获取当前页码 $page
if($page<1){
$page = 1;
}
$max = $page+floor($show_page/2); //循环的最大值
$min = $page-floor($show_page/2); //循环的最小值
//限制最大页码的数字
if( $max>$pagesize){
$max = $pagesize;
$min = $pagesize-$show_page+1;
}
//限制最小页码的数字
if($page - ceil($show_page/2) <= 1 ){
$min = 1;
$max = $show_page;
}
if($pagesize<$max){
$max = $pagesize;
}
//根据限制来生成页码
$pagestring = '<div class="page">';
if($page != 1){
$prev = $page-1;
$pagestring .= "<a href='?page=$prev'>上一页</a> ";
}
if($max != 0 && $max != 1){
for($i = $min;$i<=$max;$i++){
if($i == $page){
$hover="class=hover";
}else{
$hover="";
}
$pagestring .= "<a ".$hover." href='?page=$i'>$i</a> ";
}
}
if($page != $max && $pagesize != 0){
$next = $page+1;
$pagestring .= "<a href='?page=$next'>下一页</a>";
}
return $pagestring .= '</div>';
}
这个函数小项目里面可以用来凑合一下。
转载于:https://blog.51cto.com/1105190775/1871613