01 |
/** |
02 |
* 自定义分页方法 |
03 |
* @param unknown_type $url #分页url,页码采用'%s'表示,例如:http://test.ebers.com/tags/xxx/%s/ |
04 |
* @param unknown_type $cur_page #当前页码 |
05 |
* @param unknown_type $page_fix #当前页码前后需要显示多少个页码 |
06 |
* @param intval $total_rows #数据总数 |
07 |
* @param intval $pagesize #每页显示多少数据 |
08 |
* @param string $cur_page_calss #当前页css样式名称 |
09 |
*/ |
10 |
public function pagenation( $url , $cur_page =1, $page_fix =2, $total_rows =0, $pagesize =10, $cur_page_calss = 'disable' ){ |
11 |
#计算总页数 |
12 |
$pagesize = $pagesize >0? $pagesize :10; |
13 |
$total_page = ceil ( $total_rows / $pagesize ); |
14 |
|
15 |
$code = '' ; |
16 |
if ( $total_page >1){ |
17 |
$pager = array (); |
18 |
#首页 |
19 |
$pager [] = sprintf( '<ul><li><a href="%s">首页</a></li>' , sprintf( $url , 1) ); |
20 |
|
21 |
#页码列表 |
22 |
for ( $page_num = $cur_page - $page_fix ; $page_num < $cur_page + $page_fix ; $page_num ++){ |
23 |
if ( $page_num <1 || $page_num > $total_page ){ |
24 |
continue ; |
25 |
} |
26 |
$pager [] = sprintf( '<li class="%s"><a href="%s">%s</a></li>' , ( $page_num == $cur_page ? $cur_page_calss : '' ), sprintf( $url , $page_num ), $page_num ); |
27 |
} |
28 |
|
29 |
#末页 |
30 |
$pager [] = sprintf( '<li><a href="%s">末页</a></li><li>共%s条,第%s/%s页</li></ul>' , sprintf( $url , $total_page ), $total_rows , $cur_page , $total_page ); |
31 |
|
32 |
$code = implode( "\\n" , $pager ); |
33 |
unset( $pager ); |
34 |
} |
35 |
|
36 |
return $code ; |
37 |
} |