php 页码,php页码怎么实现

a3de334e4cb41fbc34cf49919ccb7541.png

php页码怎么实现?

PHP页码显示的实现

效果:

4bea79473763129dc6387df748362c5c.png

拿去后几乎直接用。pageNow #当前页,pageNumb #总共页码数 两个变量赋值方式改一下就行了。<?php

########################################################################

#页码显示PHP脚本

#ora

#2019-04-22 19:49:57

#########################################################################

#$pageNumb = $arrlen /$contentNumbOnePage ; #总共页码数=内容数/每页内容数。

$pageNumb = 7;

if (is_float($pageNumb)) { #总共页码数 取整。

$pageNumb = (int)$pageNumb + 1;

}elseif (is_integer($pageNumb)) {

$pageNumb = $pageNumb;

}else $pageNumb = 1; #出错,但重新定义总页码数为1,而不是退出。

#$pageNow #当前页

#$_GET['page'] #url传递(请求)的页码。

if (!empty($_GET['page']) && is_integer($_GET['page']/1) ) { #is_integer($_GET['page']/1) ,除1以后才是整数... 此处有问题。待修正。

$pageNow = $page = $_GET['page'] ;

}else {$pageNow = $page = 1;} #没有请求页码,给予初始化为1.

#页码显示

#规则:必有首尾页,当前页前后页码相同且给定。其他页码用...表示。

/*

四种情况。难得解释清楚,感兴趣自己用一串数字掩饰一下。

比如:

1 23 ...777 ; 1 2 34...777 ;12 3 45...777 ; 1...23 4 56...777;1...234_235 <236> 237_238 ...777;

1 23 ...7 ; 1 2 34...7 ; 12 3 45...7 ;123 4 567;

1 23 ...5 ; 1 2 345; 12 3 45;

1 ... 234_235 <236> 237 ; 1 ... 235 236 <237> ;

1 2 <3> 4 ;

*/

#ye ma xian shi.

$jiange=2;#ye ma jian ge.

if (!is_integer($jiange) && $jiange<1){$jiange=2;}# jian ge bu xiao yu 1,qie wei zhengshu.

##########################################下面4个case是方法############################

#case 1

if ($pageNow - $jiange - 1 - 1 > 0 && $pageNumb -$jiange -1 -1 >$pageNow){ # 前面有首页1、$jiange定义的间隔页码、和它本身。

echo " 1 " ;

echo "... ";

for ($num = $pageNow - $jiange ;$num

echo "$num ";

}

echo "$pageNow"; #当前页

for ($num = $pageNow + 1 ; $num<=$pageNow + $jiange ;$num++){

echo "$num ";

}

$num = $pageNow + 1;

echo "... ";

echo " $pageNumb";

}

#case 2

if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 >$pageNow){ # 到首页的间隔页少于等于定义间隔值。前面的页码全输出。后连续输出间隔页码。

for($i=1;$i<=$pageNow + $jiange ;$i++){

if($i==$pageNow){

echo "$pageNow"; #当前页

}else {echo " $i"; }

}

echo "... ";

echo " $pageNumb";

}

#case 3

if ($pageNow - $jiange - 1 - 1 > 0 && $pageNumb -$jiange -1 -1 <=$pageNow){

echo " 1 " ;

echo "... ";

for ($num = $pageNow - $jiange ;$num

echo "$num ";

}

echo "$pageNow"; #当前页

for ($num = $pageNow + 1 ; $num<=$pageNumb;$num++){

echo "$num ";

}

}

#case 4

if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 <=$pageNow){ #

for($i=1;$i<=$pageNumb ;$i++){

if($i==$pageNow){

echo "$pageNow"; #当前页

}else {echo " $i"; }

}

#echo "... ";

#echo " $pageNumb";

}

html格式的代码:<?php

########################################################################

#页码显示PHP脚本

#ora

#2019-04-22 19:49:57

#########################################################################

#$pageNumb = $arrlen /$contentNumbOnePage ; #总共页码数=内容数/每页内容数。

$pageNumb = 7;

if (is_float($pageNumb)) { #总共页码数 取整。

$pageNumb = (int)$pageNumb + 1;

}elseif (is_integer($pageNumb)) {

$pageNumb = $pageNumb;

}else $pageNumb = 1; #出错,但重新定义总页码数为1,而不是退出。

#$pageNow #当前页

#$_GET['page'] #url传递(请求)的页码。

if (!empty($_GET['page']) && is_integer($_GET['page']/1) ) { #is_integer($_GET['page']/1) ,除1以后才是整数... 此处有问题。待修正。

$pageNow = $page = $_GET['page'] ;

}else {$pageNow = $page = 1;} #没有请求页码,给予初始化为1.

#页码显示

#规则:必有首尾页,当前页前后页码相同且给定。其他页码用...表示。

/*

四种情况。难得解释清楚,感兴趣自己用一串数字掩饰一下。

比如:

1 23 ...777 ; 1 2 34...777 ;12 3 45...777 ; 1...23 4 56...777;1...234_235 <236> 237_238 ...777;

1 23 ...7 ; 1 2 34...7 ; 12 3 45...7 ;123 4 567;

1 23 ...5 ; 1 2 345; 12 3 45;

1 ... 234_235 <236> 237 ; 1 ... 235 236 <237> ;

1 2 <3> 4 ;

*/

#ye ma xian shi.

$jiange=2;#ye ma jian ge.

if (!is_integer($jiange) && $jiange<1){$jiange=2;}# jian ge bu xiao yu 1,qie wei zhengshu.

#case 1

if ($pageNow - $jiange - 1 - 1 > 0 && $pageNumb -$jiange -1 -1 >$pageNow){ # 前面有首页1、$jiange定义的间隔页码、和它本身。

echo " 1 " ;

echo "... ";

for ($num = $pageNow - $jiange ;$num

echo "$num ";

}

echo "$pageNow"; #当前页

for ($num = $pageNow + 1 ; $num<=$pageNow + $jiange ;$num++){

echo "$num ";

}

$num = $pageNow + 1;

echo "... ";

echo " $pageNumb";

}

#case 2

if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 >$pageNow){ # 到首页的间隔页少于等于定义间隔值。前面的页码全输出。后连续输出间隔页码。

for($i=1;$i<=$pageNow + $jiange ;$i++){

if($i==$pageNow){

echo "$pageNow"; #当前页

}else {echo " $i"; }

}

echo "... ";

echo " $pageNumb";

}

#case 3

if ($pageNow - $jiange - 1 - 1 > 0 && $pageNumb -$jiange -1 -1 <=$pageNow){

echo " 1 " ;

echo "... ";

for ($num = $pageNow - $jiange ;$num

echo "$num ";

}

echo "$pageNow"; #当前页

for ($num = $pageNow + 1 ; $num<=$pageNumb;$num++){

echo "$num ";

}

}

#case 4

if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 <=$pageNow){ #

for($i=1;$i<=$pageNumb ;$i++){

if($i==$pageNow){

echo "$pageNow"; #当前页

}else {echo " $i"; }

}

#echo "... ";

#echo " $pageNumb";

}

更多PHP相关知识,请访问PHP教程!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值