php简单分页类实现方法
程序员文章站
2022-10-19 20:50:43
本文实例讲述了php简单分页类实现方法。分享给大家供大家参考。具体如下:
复制代码 代码如下:class pagemodel {
...
本文实例讲述了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;
}
}
/**
* 获取分页数组
* @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程序设计有所帮助。
下一篇: Gradle使用Maven仓库的方法