PHP简单的分页代码
在浏览网页时,经常会遇到分页导航的情况。分页导航主要有四个作用:告诉用户要浏览的信息 量;让用户快速跳过一些不想看的信息;便于定位和查找;减少页面大小,提高加载速度。此外,分页导航实际上还给了浏览网页的用户一定的停顿,可以让产品" 更有节奏感",减少用户浏览的疲劳感
class
page{
public
$page
;
//当前页
public
$pagenum
;
// 页数
public
$pagesize
;
// 每页显示条数
public
function
__construct(
$count
,
$pagesize
){
$this
->pagenum =
ceil
(
$count
/
$pagesize
);
$this
->pagesize =
$pagesize
;
$this
->page =(isset(
$_GET
[
'p'
])&&
$_GET
[
'p'
]>0) ?
intval
(
$_GET
[
'p'
]) : 1;
}
/**
* 获得 url 后面GET传递的参数
*/
public
function
getUrl(){
$url
=
'index.php?'
.http_build_query(
$_GET
);
$url
= preg_replace(
'/[?,&]p=(\w)+/'
,
''
,
$url
);
$url
.= (
strpos
(
$url
,
"?"
) === false) ?
'?'
:
'&'
;
return
$url
;
}
/**
* 获得分页HTML
*/
public
function
getPage(){
$url
=
$this
->getUrl();
$start
=
$this
->page-5;
$start
=
$start
>0 ?
$start
: 1;
$end
=
$start
+9;
$end
=
$end
<
$this
->pagenum ?
$end
:
$this
->pagenum;
$pagestr
=
''
;
if
(
$this
->page>5){
$pagestr
=
"$url
.
"p=1"
.
">首页
"
;
}
if
(
$this
->page!=1){
$pagestr
.=
"$url
.
"p="
.(
$this
->page-1).
">上一页
"
;
}
for
(
$i
=
$start
;
$i
<=
$end
;
$i
++){
$pagestr
.=
"$url
.
"p="
.
$i
.
">"
.
$i
.
"
"
;
}
if
(
$this
->page!=
$this
->pagenum){
$pagestr
.=
"$url
.
"p="
.(
$this
->page+1).
">下一页
"
;
}
if
(
$this
->page+5<
$this
->pagenum){
$pagestr
.=
"$url
.
"p="
.
$this
->pagenum.
">尾页
"
;
}
return
$pagestr
;
}
}
// 测试代码
$page
=
new
page(100,10);
$str
=
$page
->getPage();
echo
$str
;
?>
推荐文章
2025-01-18
2024-11-28
2024-11-09
2024-10-25
2024-06-25
2024-01-04
2023-11-06
2023-10-30
2023-10-13
2023-10-10
稳定
产品高可用性高并发贴心
项目群及时沟通专业
产品经理1v1支持快速
MVP模式小步快跑承诺
我们选择声誉坚持
10年专注高端品质开发