当前位置 : 主页 > 网络编程 > PHP >

PHP简单分页

来源:互联网 收集:自由互联 发布时间:2021-06-28
/** * 自定义分页方法 * @param unknown_type $url #分页url,页码采用'%s'表示,例如:http://test.ebers.com/tags/xxx/%s/ * @param unknown_type $cur_page #当前页码 * @param unknown_type $page_fix #当前页码前后需要显
 
/**
 * 自定义分页方法
 * @param unknown_type $url     #分页url,页码采用'%s'表示,例如:http://test.ebers.com/tags/xxx/%s/
 * @param unknown_type $cur_page        #当前页码
 * @param unknown_type $page_fix        #当前页码前后需要显示多少个页码
 * @param intval $total_rows            #数据总数
 * @param intval $pagesize      #每页显示多少数据
 * @param string $cur_page_calss        #当前页css样式名称
 */
public function pagenation($url, $cur_page=1, $page_fix=2, $total_rows=0, $pagesize=10, $cur_page_calss='disable'){
    #计算总页数
    $pagesize = $pagesize>0?$pagesize:10;
    $total_page = ceil($total_rows / $pagesize);
      
    $code = '';
    if($total_page>1){
        $pager = array();
        #首页
        $pager[] = sprintf( '<ul><li><a href="%s">首页</a></li>', sprintf($url, 1) );
          
        #页码列表
        for($page_num=$cur_page-$page_fix; $page_num<$cur_page+$page_fix; $page_num++){
            if($page_num<1 || $page_num>$total_page){
                continue;
            }
            $pager[] = sprintf( '<li class="%s"><a href="%s">%s</a></li>', ( $page_num==$cur_page?$cur_page_calss:'' ), sprintf($url, $page_num), $page_num );
        }
          
        #末页
        $pager[] = sprintf( '<li><a href="%s">末页</a></li><li>共%s条,第%s/%s页</li></ul>', sprintf($url, $total_page), $total_rows, $cur_page, $total_page );
          
        $code = implode("\\n", $pager);
        unset($pager);
    }
      
    return $code;
}

网友评论