[Copy to clipboard]
PHP CODE:
<?php
// 分页函数
//num总共记录数目
//perpage 每页条数
//curr_page 当前页数
//mpurl 去掉page参数后的url参数,用于将当前的url参数传给下一页
function multiPage( $num , $perpage , $curr_page , $mpurl ) {
$multipage = '';
if ( $num > $perpage ) {
$page = 10 ;
$offset = 2 ;
$pages = ceil ( $num / $perpage );
$from = $curr_page - $offset ;
$to = $curr_page + $page - $offset - 1 ;
if ( $page > $pages ) {
$from = 1 ;
$to = $pages ;
} else {
if ( $from < 1 ) {
$to = $curr_page + 1 - $from ;
$from = 1 ;
if (( $to - $from ) < $page && ( $to - $from ) < $pages ) {
$to = $page ;
}
} elseif ( $to > $pages ) {
$from = $curr_page - $pages + $to ;
$to = $pages ;
if (( $to - $from ) < $page && ( $to - $from ) < $pages ) {
$from = $pages - $page + 1 ;
}
}
}
$multipage.="<a href=\"$mpurl?page=1\"> 首页 </a> ";
for ( $i = $from ; $i <= $to ; $i ++ ) {
if ( $i != $curr_page ) {
$multipage .="<a href = \"$mpurl?page=$i\"> $i </a> ";
} else {
$multipage.='<strong>' . $i . '</strong> ';
}
}
$multipage.=$pages > $page ?" … <a href = \" $mpurl?page=$pages\"> 尾页 </a> " : " <a href = \" $mpurl&page=$pages\" > 首页 </a> ";
}
return $multipage ;
}
/******使用方法******/
echo multiPage(460,40,$_GET["page"],"");
?>
说明:
这个函数主要是将数据处理和分页处理完全脱离开来了,再实用分页的时候不必要去理会数据,
可以单独对数据进行处理,操作起来相对来说比较方便!