首页
IT
登录
6mi
u
盘
搜
搜 索
IT
PHP分页机制
PHP分页机制
xiaoxiao
2021-03-25
111
<?php
class
page
{
private
$infocount
;
//信息总数
private
$pagesize
;
//每页数量
private
$pagecount
;
//页面总数
private
$currpage
;
//当前页面
function
__construct
(
$ifcount
,
$pgsize
,
$pgcount
=
1
,
$cupage
=
1
)
{
$this
->infocount=
$ifcount
;
$this
->pagesize=
$pgsize
;
$this
->pagecount=ceil(
$this
->infocount/
$this
->pagesize);
$this
->currpage=min(
$this
->pagecount,max(
1
,(int)@
$_GET
[
'page'
])); }
function
hello
()
{
echo
"信息总数:"
;
echo
$this
->infocount;
echo
"每页显示数量:"
;
echo
$this
->pagesize;
echo
"<br>"
;
echo
$this
->pagecount;
echo
"<br>"
;
echo
$this
->currpage; }
function
show
()
{
$s
=
"页码 "
;
for
(
$i
=
1
;
$i
<=
$this
->pagecount;
$i
++){
if
(
$i
==
$this
->currpage)
$s
.=
"<span style='color:#ff0000;font-weight:bold;'> $i</span>"
;
else
$s
.=
"<a href='"
.
$this
->pageurl().
"$i'> $i</a>"
; }
return
$s
; }
function
limit
()
{
return
"limit "
.(
$this
->currpage-
1
)*
$this
->pagesize.
","
.
$this
->pagesize; }
function
pageurl
()
{
// return @$_GET['tyid'];//比较
//获取当前网址,即:$url=/shop/admin/article.php
$url
=
isset
(
$_SERVER
[
'REQUEST_URI'
])?
$_SERVER
[
'REQUEST_URI'
]:
$SERVER
[
'PHP_SELF'
].
"?"
.
$_SERVER
[
'QUERY_STRING'
];
//将字符串转换成数组,即$request_arr=array('path'=>'/shop/admin/article.php');
//若传来2个参数typeid(分类id)和page(当前页码)的值,则$request_arr=array('path'=>'/shop/admin/article.php','query'=>array('typeid'=>$typeid,'page'=>$page));
$request_arr
=parse_url(
$url
);
if
(
isset
(
$request_arr
[
'query'
])){
//echo '有参数';
//将解析的部分赋给$arr,即$str=$request_arr['query']
parse_str(
$request_arr
[
'query'
],
$arr
);
//注销掉其中的某个值
unset
(
$arr
[
'page'
]);
//重新把这个网址组合起来,如:$url=/shop/admin/article.php?typeid=3&page=
//其中,http_build_query将parse_str打散的数组再重新组合成原来parse_url的字符串样式
$url
=
$request_arr
[
'path'
].
"?"
.http_build_query(
$arr
).
"&page="
; }
else
{
//echo '无参数';
$url
=strstr(
$url
,
"?"
)?
$url
.
"page="
:
$url
.
"?page="
; }
return
$url
; } }
转载请注明原文地址: https://ju.6miu.com/read-11213.html
技术
最新回复
(
0
)