本文实例讲述了php简单分页类实现方法。分享给大家供大家参考。具体如下:
class pagemodel {
/**
* 获取分页数组
* @param unknown $page 当前页面数
* @param unknown $goodscount 商品总数
* @param unknown $pagelength 每个页面展示页面数
*/
public static function getpagearr($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程序设计有所帮助。
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
网安追踪流程
1.不用代理网民发帖流程:发帖人 → ISP → 服务器托管商 → 服务器网警追踪流程:网监 → 服务器IP →...
[阅读全文]
-
-
-
HTTP状态码大全
转自:https://www.cnblogs.com/lxinxuan/archive/2009/10/22/1...
[阅读全文]
-
-
-
-
网友评论