php简单分页类实现方法
本文实例讲述了php简单分页类实现方法。分享给大家供大家参考。具体如下:
classPageModel{
/**
*获取分页数组
*@paramunknown$page当前页面数
*@paramunknown$goodsCount商品总数
*@paramunknown$pageLength每个页面展示页面数
*/
publicstaticfunctiongetPageArr($page,$goodsCount,$pageCountLength,$pageLength){
//页面总数
$allPageCount=ceil($goodsCount/$pageLength);
//如果页面总是比长度短,设定页面长度为页面总数
if($allPageCount<=$pageCountLength){
$allPageCount=ceil($goodsCount/$pageLength);
}
//总页面数一页展示完
if($allPageCount<=$pageCountLength){
for($i=0;$i<$allPageCount;$i++){
$arr[]=array('page'=>$i+1);
}
return$arr;
}
//前后的长度
$halfLength=floor($pageCountLength/2);
//因为太小,所以放原来位置,左边
if($page<=$halfLength){
$arr=array();
for($i=0;$i<$pageCountLength;$i++){
$arr[]=array('page'=>$i+1);
}
return$arr;
}
//太大,只取到边缘,超出也只取到边缘
if($page>$allPageCount-floor($pageCountLength/2)){
for($i=-$pageCountLength;$i<0;$i++){
$arr[]=array('page'=>$allPageCount+$i+1);
}
return$arr;
}
//中间的数,把中间的取出来
for($i=-$halfLength;$i<$pageCountLength-$halfLength;$i++){
$arr[]=array('page'=>$page+$i);
}
return$arr;
}
}
希望本文所述对大家的php程序设计有所帮助。