/**
* 封装的分页page方法
* @access public
* @param int rows 总条数
* @param int size 每页条数
* @param int page 当前页数
* @param int len 中间显示页码个数
* @return array 返回页码等数据
*/
function page($rows, $size, $page,$len=5) {
//获取全部页码$total = ceil($rows / $size);
$rows1 = array();
if ($page >= $total)
$page = $total;
if ($page <= 1 || $page == '')
$page = 1;
$select_limit = $size;
$m=request()->module();
$c=request()->controller();
$c=strtolower($c);
$a=request()->action();
$str=$m."/".$c."/".$a;
$w_url = request()->root(true)."/".$str;
$select_from = ($page - 1) * $size;
$rows1['page_l'] = $select_from;
$rows1['page_r'] = $select_limit;
$pre_page = ($page == 1) ? 1 : $page - 1;
$next_page = ($page == $total) ? $total : $page + 1;
//先判断条数够不够
if($total<$len){
$arr=array();
for($i=1;$i<=$total;$i++){
$arr[]=$i;
}
}else{
$page=($page<=1)?1:$page;
$page=($page>=$total)?$total:$page;
$arr=array($page);
for($i=1;count($arr)<$len;$i++){
if($arr[0]>1){
array_unshift($arr,($page-$i));
}
$le=count($arr);
if($arr[$le-1]<$total){
array_push($arr,($page+$i));
}
}
}
$pagenav = "";
$pagenav = "<a href='" . $w_url . "/page/1' class='paginate_button previous disabled'>首页</a> ";
foreach($arr as $k =>$v){
if($v==$page){
$pagenav .= "<a href='" . $w_url . "/page/" . $v . "' class='paginate_button current'>第".$v."页</a> ";
}else{
$pagenav .= "<a href='" . $w_url . "/page/" . $v . "' class='paginate_button previous disabled'>第".$v."页</a> ";
}
}
$pagenav .= "<a href='" . $w_url . "/page/" . $next_page . "' class='paginate_button previous disabled'>后一页</a> ";
$pagenav .= "<a href='" . $w_url . "/page/" . $total . "' class='paginate_button previous disabled'>末页</a>";
$rows1['page'] = $pagenav;
return $rows1;
}