php按数字分页类,php带数字的分页代码

本文详细解析了PHP实现分页的核心代码,包括判断总页数、处理URL和长度、显示页码等逻辑,并给出了实际的样式示例。通过调整参数,可以灵活定制分页显示的效果。此外,还提供了具体的调用分页代码片段,帮助开发者快速理解和应用。
摘要由CSDN通过智能技术生成

//分页原理

//首页来判断总页数

if(!isset($GX_pre)) $GX_pre=true;

if(!isset($GX_next)) $GX_next=true;

if(!isset($GX_end)) $GX_end=true;

if(!isset($GX_index)) $GX_index=true;

if(!isset($GX_word)) $GX_word=false;

if(!isset($GX_n)) $GX_n=1;

if(!isset($GX_pagelen)) $GX_pagelen=15;

if(!isset($GX_page)) $GX_page=8;

if($GX_n>3) $GX_n=3;

if($GX_word){

echo '

总记录数:'.$GX_num.'总页数:'.$all_page.'当前页:'.$GX_pageno.'';

}

if($GX_num==$GX_pagelen){

$all_page = 1;

}else{

if($GX_num%$GX_pagelen==0){

$all_page = floor($GX_num/$GX_pagelen);

}else{

$all_page = floor($GX_num/$GX_pagelen)+1;

}

}

$href = $_SERVER["QUERY_STRING"];

$href = preg_replace('/pageno=([\w+].*)/','',$href);

$href = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$href.'pageno=';

//先处理url和长度

$all_pagelen=$GX_page;  // 定义变量页数的总显示个数

$pagen=$GX_n;

$all_pagel = floor($all_pagelen/2);

if($GX_index) echo '

',$GX_index_word,'';

if($GX_pageno==1){

if($GX_pre) echo '

',$GX_pre_word,'';

}else{

if($GX_pre) echo '

',$GX_pre_word,'';

}

if($all_page<=$all_pagelen){  //此处判断总页数小于或者等于$all_pagelen的情况

for($i=1;$i

if($GX_pageno==$i){

echo '

',$i,'';

}else{

echo '

',$i,'';

}

}

}else{//此处处理总页数大于$all_pagelen的页数分页部分

if($GX_pageno>$all_pagel){

if($GX_pageno+$all_pagel<=$all_page){

for($k=$all_pagel;$k>0;$k--){

echo '

',($GX_pageno-$k),'';

}

echo '

',$GX_pageno,'';

for($m=1;$m

echo '

',($GX_pageno+$m),'';

}

}else{

for($l=($all_pagelen-1);$l>=0;$l--){

if($l==($all_page-$GX_pageno)){

echo '

',$GX_pageno,'';

}else{

echo '

',($all_page-$l),'';

}

}

}

}else{

for($j=1;$j

if($GX_pageno==$j){

echo '

',$j,'';

}else{

echo '

',$j,'';

}

}

}

}

if($GX_pageno+$all_pagel<=$all_page-$pagen){

echo "

...";

for($n=$pagen;$n>0;$n--){

echo '

',$all_page-($n-1),'';

}

}

if($GX_pageno==$all_page){

if($GX_next) echo '

',$GX_next_word,'';

}else{

if($GX_next) echo '

',$GX_next_word,'';

}

if($GX_end) echo '

',$GX_end_word,'';

?>

以上代码是整个分页的核心部分,命名为pagelist.php;保存下来

下面的代码是需要调用分页的部分代码

$GX_pageno=$_GET['pageno'];

$GX_num=10000;//一共有多少条数据

$GX_n=2;//设置尾部显示多少个页码,不要超过三个为了美观

//$GX_pagelen=100;//一页显示多少条数据

//$GX_page=20;//显示分页列表的长度

//$GX_pre=false;隐藏上一页按钮

//$GX_next=false;隐藏下一页按钮

//$GX_index=false;隐藏首页按钮

//$GX_end=false;隐藏末页按钮

$GX_pre_word=" 上一页 ";

$GX_next_word=" 下一页 ";

$GX_end_word=" 末页 ";

$GX_index_word=" 首页 ";

include "pagelist.php";

?>

样式如下,样式可以自己来写,这里只贴出演示的样式代码如下

.Blue_page{width:100%;height:25px;}

.Blue_page li{display:inline-block;margin-left:3px;}

.Blue_page li a{margin: 0 1px;padding: 0 4px;border: 3px double #fff;background: #eee;color: #06f;text-decoration: none;font-family: Arial, Helvetica, sans-serif;font-size:12px;}

.Blue_page li span.current{margin: 0 1px;padding: 0 4px;color: #fff;border: 3px double #fff;background: #f60;}

.Blue_page li span{color:#06f;}

好了可以看下我的分页代码效果 如下图

4760d7f651911f87da4a90525d8c6b48.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值