php 页码,php页码怎么实现
php页码怎么实现?
PHP页码显示的实现
效果:
拿去后几乎直接用。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教程!
php 页码,php页码怎么实现相关推荐
- Word2007怎样从随意页開始设置页码 word07页码设置毕业论文
Word2007怎样从随意页開始设置页码 word07页码设置毕业论文 为了方便解说,我们先如果从第3页開始设置页码. 一.插入页码 插入→页眉和页脚→页码→页面底端→普通数字3 说明:被→分隔的内容 ...
- word如何取消封面或者目录下方的页码,页码从正文开始
@word如何取消封面与目录的页码TOC 页码设置 我们使用word的时候会发现,加入页码的时候,无法从我们想要的页码开始 #具体实施步骤 1.点击布局,点击分隔符,插入分节符 2.然后双击所设置页尾 ...
- word页眉/页脚中插入页码及页码总数(自动变化)
1 问题? 在文章排版时经常遇到需需要在页眉或页脚中设置页码格式,且页码应从正文部分开始,封面.摘要及目录不应该包含页码. 当需要设置页码总数时,若手动设置则十分麻烦,每次页数改变都要重新设置! 2 ...
- word中如何设置首页无页码,页码从第二页开始?(前两页页码格式与后文不同)
需求: 我要从第三页开始插入页码(页码从1开始),前两页无页码. 步骤: 光标放在第2页的末尾,在"布局"中找到"分隔符",在下拉选项中选择"下一页& ...
- Word2007如何从任意页开始设置页码 word07页码设置毕业论文
Word2007如何从任意页开始设置页码 word07页码设置毕业论文 为了方便讲解,我们先假设从第3页开始设置页码. 一.插入页码 插入→页眉和页脚→页码→页面底端→普通数字3 说明:被→分隔的内容 ...
- world分节及分节首页分节页码总页码设置方法
一.正式文档注意点 1.文件属性.版本.日期.状态等确认 2.文档中涉及表格跨页显示时,需要第二页显示表头,如果第一页仅仅显示表头,则该表调整到下一页显示 3.文档需要及时更新目录,打开默认设置为10 ...
- 如何为PPT加上页码/总页码
打开PPT,选中一页,右键查看其版式. 然后进入模板,点击该版式,可以看到右下角有<#>,这个就是页码的标志. 你可以把它放到中间,或者更改它的样式. 也可以直接该为<#>/1 ...
- Word页码设置页码从指定页面从1开始
假设第1和第2页是目录页,我们希望页码从第3页为1开始 ①在第3页的最上方 ②在第3页插入页码 并且设置为起始页码,从1开始后,第三页就变成第一页了 一定不要勾选[链接到前一条页眉] ③如果第1和第2 ...
- word文档封面不显示页码双面页码vba宏代码
Sub 有封面双页码() ' ' 有封面双页码 宏 ' ' Dim oSection As Section For Each oSection In Word.ActiveDocument.Secti ...
最新文章
- jTable 滚动条
- Metasploit AFP信息获取模块afp_server_info
- ios php range,PHP range() 函数 - PHP 基础教程
- redis 发布订阅实际案例_Redis源码分析之发布订阅+慢查询+排序以及监视器
- Oracle数据库名,实例名,服务名的区别
- C++ STL学习笔记
- bimmercode刷隐藏教程_PS教程:快速提取人物像素,制作人物海报主体,简单易学...
- 机器学习模型在线校验交互示例
- “现有人工智能都是二流的”
- linux重要的目录之etc
- 【老生谈算法】matlab遗传算法工具箱源码——遗传算法
- python 日期的周数_术业有专攻:日期时间模块datetime
- vs2005无法附加进程
- 【PyQt】PyQt4使用qt-designer进行设计
- js实现房贷月供计算还款状况(贷款计算功能)
- 三十而立程序员天马行空的心理路程(迷茫/焦虑)
- Spark面试题、答案
- 新颖的自我介绍_三句有创意的自我介绍 简短有创意的自我介绍
- 2019年nodejs凉了吗?凉到什么程度了?
- oppo小布机器人_OPPO小布助手建立GUI+VUI协作机制,创新快应用融合能力