php页码怎么实现

藏色散人
发布: 2019-09-28 10:23:22
原创
3223人浏览过

php页码怎么实现

php页码怎么实现?

PHP页码显示的实现

效果:

a83f1ea09259c09578e61b88fe5397b.png

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

立即学习PHP免费学习笔记(深入)”;

<?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 " <a href=\"?page=1\" >1</a> " ;
echo "<span class=\"extend\">...</span> ";
for ($num = $pageNow - $jiange ;$num<$pageNow;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
echo "<span class=\"current\">$pageNow</span>"; #当前页
for ($num = $pageNow + 1 ; $num<=$pageNow + $jiange ;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
$num = $pageNow + 1;
echo "<span class=\"extend\">...</span> ";
echo "<a href=\"?page=$pageNumb\"> $pageNumb</a>"; 
}
#case 2
if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 >$pageNow){ # 到首页的间隔页少于等于定义间隔值。前面的页码全输出。后连续输出间隔页码。
for($i=1;$i<=$pageNow + $jiange ;$i++){
if($i==$pageNow){
echo "<span class=\"current\">$pageNow</span>"; #当前页
}else {echo "<a href=\"?page=$i\"> $i</a>"; }
}
echo "<span class=\"extend\">...</span> ";
echo "<a href=\"?page=$pageNumb\"> $pageNumb</a>"; 
}
#case 3
if ($pageNow - $jiange - 1 - 1 > 0 && $pageNumb -$jiange -1 -1 <=$pageNow){
echo " <a href=\"?page=1\" >1</a> " ;
echo "<span class=\"extend\">...</span> ";
for ($num = $pageNow - $jiange ;$num<$pageNow;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
echo "<span class=\"current\">$pageNow</span>"; #当前页
for ($num = $pageNow + 1 ; $num<=$pageNumb;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
}
#case 4 
if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 <=$pageNow){ # 
for($i=1;$i<=$pageNumb ;$i++){
if($i==$pageNow){
echo "<span class=\"current\">$pageNow</span>"; #当前页
}else {echo "<a href=\"?page=$i\"> $i</a>"; }
}
#echo "<span class=\"extend\">...</span> ";
#echo "<a href=\"?page=$pageNumb\"> $pageNumb</a>"; 
}
登录后复制

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 " <a href=\"?page=1\" >1</a> " ;
echo "<span class=\"extend\">...</span> ";
for ($num = $pageNow - $jiange ;$num<$pageNow;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
echo "<span class=\"current\">$pageNow</span>"; #当前页
for ($num = $pageNow + 1 ; $num<=$pageNow + $jiange ;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
$num = $pageNow + 1;
echo "<span class=\"extend\">...</span> ";
echo "<a href=\"?page=$pageNumb\"> $pageNumb</a>"; 
}
#case 2
if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 >$pageNow){ # 到首页的间隔页少于等于定义间隔值。前面的页码全输出。后连续输出间隔页码。
for($i=1;$i<=$pageNow + $jiange ;$i++){
if($i==$pageNow){
echo "<span class=\"current\">$pageNow</span>"; #当前页
}else {echo "<a href=\"?page=$i\"> $i</a>"; }
}
echo "<span class=\"extend\">...</span> ";
echo "<a href=\"?page=$pageNumb\"> $pageNumb</a>"; 
}
#case 3
if ($pageNow - $jiange - 1 - 1 > 0 && $pageNumb -$jiange -1 -1 <=$pageNow){
echo " <a href=\"?page=1\" >1</a> " ;
echo "<span class=\"extend\">...</span> ";
for ($num = $pageNow - $jiange ;$num<$pageNow;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
echo "<span class=\"current\">$pageNow</span>"; #当前页
for ($num = $pageNow + 1 ; $num<=$pageNumb;$num++){
echo "<a href=\"?page=$num\">$num</a> ";
}
}
#case 4 
if ($pageNow - $jiange - 1 - 1 <= 0 && $pageNumb -$jiange -1 -1 <=$pageNow){ # 
for($i=1;$i<=$pageNumb ;$i++){
if($i==$pageNow){
echo "<span class=\"current\">$pageNow</span>"; #当前页
}else {echo "<a href=\"?page=$i\"> $i</a>"; }
}
#echo "<span class=\"extend\">...</span> ";
#echo "<a href=\"?page=$pageNumb\"> $pageNumb</a>"; 
}
登录后复制

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

以上就是php页码怎么实现的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号