0

0

一个php页面多个分页共存

php中文网

php中文网

发布时间:2016-06-23 14:17:51

|

1763人浏览过

|

来源于php中文网

原创

PHP 分页

写了个php分页的自定义函数,用着感觉挺好:
pageFunc($dataNum,$pageSize,$pageName)//记录集,每页显示的条数,分页名

今天突然在想,如果我一个页面有和几个区域要做分页呢,那怎么办?
首先我想到的是将自定义分页函数添加一个参数,来标识分页的名称以达到区分的目的,结果失败啦!
请大家提供可行的解决思路给我!谢谢!

回复讨论(解决方案)

最简单的方法,复制一个一模一样的,然后改下变量就可以了

写了个php分页的自定义函数,用着感觉挺好:

pageFunc($dataNum,$pageSize,$pageName)//记录集,每页显示的条数,分页名

今天突然在想,如果我一个页面有和几个区域要做分页呢,那怎么办?
首先我想到的是将自定义分页函数添加一个参数,来标识分页的名称以达到区分的目的,结果失败啦!
请大家提供可行的解决思路给我!谢谢!
一般多个分页的都采用AJAX分页了吧

最简单的方法,复制一个一模一样的,然后改下变量就可以了
这个方法代码太冗余啦!


写了个php分页的自定义函数,用着感觉挺好:

pageFunc($dataNum,$pageSize,$pageName)//记录集,每页显示的条数,分页名

今天突然在想,如果我一个页面有和几个区域要做分页呢,那怎么办?
首先我想到的是将自定义分页函数添加一个参数,来标识分页的名称以达到区分的目的,结果失败啦!
请大家提供可行的解决思路给我!谢谢!
一般多个分页的都采用AJAX分页了吧
非得用ajax吗?还有其它方法吗?最好是封装成函数



写了个php分页的自定义函数,用着感觉挺好:

pageFunc($dataNum,$pageSize,$pageName)//记录集,每页显示的条数,分页名

今天突然在想,如果我一个页面有和几个区域要做分页呢,那怎么办?
首先我想到的是将自定义分页函数添加一个参数,来标识分页的名称以达到区分的目的,结果失败啦!
请大家提供可行的解决思路给我!谢谢!
一般多个分页的都采用AJAX分页了吧
非得用ajax吗?还有其它方法吗?最好是封装成函数
如果你非要使用这种蛋疼的做法
那你就只有给每个分页加不同的标识,然后利用进行标识来判断是否要分页和分页查询数据了
这种效率恐怕不高

记得重要一条:
判断是否要分页和分页查询数据

不是只用不同标识的就好了

如果你非要使用这种蛋疼的做法
那你就只有给每个分页加不同的标识,然后利用进行标识来判断是否要分页和分页查询数据了
这种效率恐怕不高
谢谢,回复的真快!
假设我都要分页,那么写成自定义函数的时候应该怎么写?


如果你非要使用这种蛋疼的做法
那你就只有给每个分页加不同的标识,然后利用进行标识来判断是否要分页和分页查询数据了
这种效率恐怕不高
谢谢,回复的真快!
假设我都要分页,那么写成自定义函数的时候应该怎么写?

晕死,用原来单个分页的就都可以。就只是多加一个参数来区分判断是否调用分页以及是否查询分页数据

是不是我没表达清楚,我的意向是:
一个页面有多个模块需要用到分页,模块之间彼此不影响数据的分页显示

是不是我没表达清楚,我的意向是:
一个页面有多个模块需要用到分页,模块之间彼此不影响数据的分页显示
无语,我说的还不够清楚么?

多加一个参数来区分判断是否调用分页以及是否查询分页数据


你根据不同的标识判断是否调用分页以及是否查询分页数据,那自然就不影响分页显示了啊

你不可能在页面的不同区域显示同一内容,虽然理论上可以,但实际太傻
所以不同的分页必然指向不同的数据源

如果你的分页是由页面跳转完成的,那么页面中的多个分页必将导致混乱的局面

首先谢谢两位斑竹!
为了说明的更仔细,我放上代码和前台页面的截图:

1、index.php


2、pageFunc.php

$pageNum?$pageCurr=$pageNum:'';		is_numeric($pageCurr)?'':$pageCurr=1;//判断页码的合法性		$pageOffset=intval($pageCurr-1)*$pageSize;//数据偏移量		$pageOffset.=',';	}			if($dataNum>$pageSize){		//创建分页结构		$pageHtml="共{$dataNum}条数据,每页显示{$pageSize}条,{$pageCurr}/{$pageNum}页 ";		$pageHtml.="首页 ";		$pageHtml.="上一页 ";		//$pageHtml.="$pageCurr ";		if($pageCurr+1>$pageNum){			$pageCurr=$pageNum-1;			$pageHtml.="下一页 ";			$pageHtml.="尾页 ";		}else{		$pageHtml.="下一页 ";		$pageHtml.="尾页 ";			}	}else{		//创建分页结构		$pageHtml="共{$dataNum}条数据,1页 ";		$pageHtml.="首页 ";		$pageHtml.="上一页 ";		$pageHtml.="下一页 ";		$pageHtml.="尾页 ";	}	return $pageHtml;	}?>




说明:1调用了2的自定义分页函数,请帮忙指点修改

改成类,用不同的实例

用ajax的方式去弄,就不存在你说的那个问题了。

你的问题应该是因为url上传页数的参数,不知道传给哪个区域的分页导致的。如果非要用传统意义的传参话。就多传几个参数呗。比如:scope1_page=1&scope2_page=2...

用ajax的方式去弄,就不存在你说的那个问题了。

你的问题应该是因为url上传页数的参数,不知道传给哪个区域的分页导致的。如果非要用传统意义的传参话。就多传几个参数呗。比如:scope1_page=1&scope2_page=2...
的确是这样的,但是我想用传统的通过自定义函数传参去解决,我只有去修改自定义函数啦,能否告诉我一下关键的要修改的地方在哪里?


用ajax的方式去弄,就不存在你说的那个问题了。

你的问题应该是因为url上传页数的参数,不知道传给哪个区域的分页导致的。如果非要用传统意义的传参话。就多传几个参数呗。比如:scope1_page=1&scope2_page=2...
的确是这样的,但是我想用传统的通过自定义函数传参去解决,我只有去修改自定义函数啦,能否告诉我一下关键的要修改的地方在哪里?

无语,是不是非要弄代码你才明白?
你根据不同的标识判断 是否调用分页以及 是否查询分页数据,那自然就不影响分页显示了啊

是不是红色2处的文字很深奥呢?
懂什么叫查询分页数据么?
又懂什么叫调用分页么?
从5楼开始我就说要从这2方面同时下手
你却一直只在怎么判断调用分页一个方面去下手
真心无语,是不是“查询分页数据”这6个中文很深奥?

用ajax的方式去弄,就不存在你说的那个问题了。

你的问题应该是因为url上传页数的参数,不知道传给哪个区域的分页导致的。如果非要用传统意义的传参话。就多传几个参数呗。比如:scope1_page=1&scope2_page=2...
传100个参数也一样,问题的重点根源都不知道是在哪,加那么多参数有P用

试问,你根据标识判断了不调用了分页哪又怎样呢?
但实际的几个模块的内容分页数据已经查询调用了,你一直在判断是否调用分页有什么意义?
你页数是现实了第一页,可数据却显示的是第二页的数据,你觉得你一直绕在判断是否调用分页上有什么意义?

从5头开始我就说从2个方面同时下手,我都不搞不明白你,是不是“是否查询分页数据”这几个中文很深奥?



用ajax的方式去弄,就不存在你说的那个问题了。

你的问题应该是因为url上传页数的参数,不知道传给哪个区域的分页导致的。如果非要用传统意义的传参话。就多传几个参数呗。比如:scope1_page=1&scope2_page=2...
的确是这样的,但是我想用传统的通过自定义函数传参去解决,我只有去修改自定义函数啦,能否告诉我一下关键的要修改的地方在哪里?

无语,是不是非要弄代码你才明白?
你根据不同的标识判断 是否调用分页以及 是否查询分页数据,那自然就不影响分页显示了啊

是不是红色2处的文字很深奥呢?
懂什么叫查询分页数据么?
又懂什么叫调用分页么?
从5楼开始我就说要从这2方面同时下手
你却一直只在怎么判断调用分页一个方面去下手
真心无语,是不是“查询分页数据”这6个中文很深奥?
“查询分页数据”我不写到分页自定义函数里去的,是一个数据库操作类里读取数据的,只不过是向这个操作类里传入偏移值而已;
另外,我的工作主要是前端,php属于初级阶段,所以在很大程度上有障碍!因此最好能提供一下主要代码,谢谢啦~

天气燥热,版主火气很大,体谅下php菜鸟~

贴上页面代码:

nums('test1');//取得数据表中的数据条数$pageSize=10;//每页显示的数量pageFunc($dataNum,$pageSize,'page_type1');//分页//输出数据$db->select("test1","*","name!='' limit ".$pageOffset."".$pageSize);$result = $db->fetchArray();echo '
    ';foreach($result as $value){ echo '
  • '.$value['name'].'
  • ';}echo '
';echo pageFunc($dataNum,$pageSize,'page_type1');//输出分页结构/**********************区域2********************///分页传参$dataNum2=$db->nums('test1');//取得数据表中的数据条数$pageSize2=10;//每页显示的数量pageFunc($dataNum2,$pageSize2,'page_type2');//输出数据$db->select("test1","*","name!='' limit ".$pageOffset."".$pageSize2);//分页$result = $db->fetchArray();echo '
    ';foreach($result as $value){ echo '
  • '.$value['name'].'
  • ';}echo '
';echo pageFunc($dataNum2,$pageSize2,'page_type2');//输出分页结构?>




用ajax的方式去弄,就不存在你说的那个问题了。

你的问题应该是因为url上传页数的参数,不知道传给哪个区域的分页导致的。如果非要用传统意义的传参话。就多传几个参数呗。比如:scope1_page=1&scope2_page=2...
的确是这样的,但是我想用传统的通过自定义函数传参去解决,我只有去修改自定义函数啦,能否告诉我一下关键的要修改的地方在哪里?

无语,是不是非要弄代码你才明白?
你根据不同的标识判断 是否调用分页以及 是否查询分页数据,那自然就不影响分页显示了啊

是不是红色2处的文字很深奥呢?
懂什么叫查询分页数据么?
又懂什么叫调用分页么?
从5楼开始我就说要从这2方面同时下手
你却一直只在怎么判断调用分页一个方面去下手
真心无语,是不是“查询分页数据”这6个中文很深奥?
“查询分页数据”我不写到分页自定义函数里去的,是一个数据库操作类里读取数据的,只不过是向这个操作类里传入偏移值而已;
另外,我的工作主要是前端,php属于初级阶段,所以在很大程度上有障碍!因此最好能提供一下主要代码,谢谢啦~
真心无语,你分页自定义函数与,你查询分页数据有什么关系?
分页函数就作用仅限于实现页数分页而已,跟查询数据有什么关系呢?

你要明白,你查询数据是跟页数有关系
SELECT * FROM table LIMIT (page-1) , 30*page
查询分页的时候是要用到上面的语句的,你都不对这个分页数据查询惊醒判断,你标识用了有什么意义呢?
你的页数只有一个变量,都是page,你只用标识判断调用了分页函数,那么你页数是不变化了,但数据却变化了,有什么意义呢?

再者假设,你用的分页变量名是不同的,可你在读取分页数据的时候却用了同一变量名,导致最终的结果分页数据还是一样混乱变化,有什么意义?

知道什么是and条件么?

也就是2个条件必须同时判断
加入分页的变量名都是一样的,那么就必须另外加一个标识代表模块的意思

比如网址是a.php?page=1&pagetype=1
那么得进行处理
分页判断处理
$page1=$page2=$page3=1;
if($pagetype==1){
$dataNum=$db->nums('test1');//取得数据表中的数据条数
$pageSize=10;//每页显示的数量
$page1=$page;
$db->select("test1","*","name!='' limit ".($page1-1)."".$pageSize);
$result = $db->fetchArray();
$pagestr1=pageFunc($dataNum,$pageSize,'page');
}
elseif($pagetype==2){
$page2=$page;
.......
}
elseif($pagetype==3){
$page3=$page;
.......
}

还有,要明白一点:函数里的非全局变量不能被函数意外的程序调用的


写了个php分页的自定义函数,用着感觉挺好:

pageFunc($dataNum,$pageSize,$pageName)//记录集,每页显示的条数,分页名

今天突然在想,如果我一个页面有和几个区域要做分页呢,那怎么办?
首先我想到的是将自定义分页函数添加一个参数,来标识分页的名称以达到区分的目的,结果失败啦!
请大家提供可行的解决思路给我!谢谢!
一般多个分页的都采用AJAX分页了吧
ajax 能分页?

首先,你这种分页有点混乱,感觉用ajax更实际一些,这是建议。
那实际上你的问题点在于页面内判断分页标识和输出链接的参数问题。也就是版主说到的  是否调用分页以及 是否查询分页数据


此图中你就写明了page=和page2=也就是区分这2个模块的分页标识。
代码中$pageOffset需要分别根据page和page2来计算两次。
而输出分页那个函数,仅仅只需要将url重新拼接一次,以确保每个page的参数都正确的传递到分页链接里。
不知道你明白没有?

只能将查询数据和分页整合到一块去啦,结贴!

相关文章

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

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

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Swoft2.x速学之http api篇课程
Swoft2.x速学之http api篇课程

共16课时 | 0.9万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 2万人学习

10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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