之前在用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>‘; }
这个函数小项目里面可以用来凑合一下。
时间: 2024-10-15 15:59:00