分页page方法

 /**
     * 封装的分页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> ";

   $pagenav .= "<a href='" . $w_url . "/page/" . $pre_page . "' 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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值