分页原理及简单分页类分享
更新时间:2024-04-23 00:55:01 阅读量: 综合文库 文档下载
- 简单分页和请求分页推荐度:
- 相关推荐
分页原理及简单分页类分享
PHP初学者,对分页显示问题时常摸不着头绪,小编就讲解一下分页原理以及简单分页类分享。
分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。
分页原理:
所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数:
每页多少条记录($PageSize)? 当前是第几页($CurrentPageID)?
现在只要再给我一个结果集,我就可以显示某段特定的结果出来。 至于其他的参数,比如:上一页($PReviousPageID)、下一页($NextPageID)、总页数($numPages)等等,都可以根据前边这几个东西得到。 以MySQL数据库为例,如果要从表内截取某段内容,sql语句可以用:select * from table limit offset, rows。看看下面一组sql语句,尝试一下发现其中的规率。 前10条记录:select * from table limit 0,10
第11至20条记录:select * from table limit 10,10 第21至30条记录:select * from table limit 20,10 ……
这一组sql语句其实就是当$PageSize=10的时候取表内每一页数据的sql语句,我们可以总结出这样一个模板:
select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize
拿这个模板代入对应的值和上边那一组sql语句对照一下看看是不是那么回事。搞定了最重要的如何获取数据的问题以后,剩下的就仅仅是传递参数,构造合适的sql语句然后使用php从数据库内获取数据并显示了。
简单分页类分享:
现在公布一个简单分类制作。只要理解了这个类的原理和步骤,其他复杂类也就能够触类旁通了。不废话,直接上源码,可以直接用在你的项目中。
数据库操作类代码:mysqli.func.php
// 数据库连接常量
define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PWD', '');
define('DB_NAME', 'guest');
// 连接数据库 function conn() {
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PWD, DB_NAME); mysqli_query($conn, \ return $conn; }
//获得结果集
function doresult($sql){
$result=mysqli_query(conn(), $sql); return $result; }
//结果集转为对象集合 function dolists($result){
return mysqli_fetch_array($result, MYSQL_ASSOC); }
function totalnums($sql) {
$result=mysqli_query(conn(), $sql); return $result->num_rows; }
// 关闭数据库 function closedb() {
if (! mysqli_close()) { exit('关闭异常'); } } ?>
分页实现代码:
include 'mysqli.func.php';
// 总记录数
$sql = \ FROM tb_user \ $totalnums = totalnums($sql);
// 每页显示条数 $fnum = 8;
// 翻页数
$pagenum = ceil($totalnums / $fnum);
// 页数常量
@$tmp = $_GET['page'];
//防止恶意翻页
if ($tmp > $pagenum)
echo \
//计算分页起始值 if ($tmp == \ $num = 0; } else {
$num = ($tmp - 1) * $fnum; }
// 查询语句
$sql = \ FROM tb_user ORDER BY dg_id DESC LIMIT \\
$result = doresult($sql);
// 遍历输出
while (! ! $rows = dolists($result)) {
echo $rows['dg_id'] . \ }
// 翻页链接
for ($i = 0; $i < $pagenum; $i ++) {
echo \ } ?>
正在阅读:
分页原理及简单分页类分享04-23
邓小平理论与“三个代表”重要思想概论课程作业 - ABC卷附正确答04-25
2014年上期华湘学校二年级数学学科期末质量监测试卷分析评价报告05-25
上学路上观后感600字12-11
关于经济建设与国防建设关系的思考12-03
身边哪些有特点的人作文800字06-17
LED猜盘游戏03-16
关于爱情陪伴的英语句子唯美06-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 原理
- 简单
- 分享
- 安徽省芜湖市马鞍山市2016届高三第一次教学质量监测理综试题 -
- 湘国税函〔2009〕279号附优惠汇总备案明细
- 2017年北京市海淀区九年级上期中数学试题含答案
- 新民油田低渗砂岩油藏酸化解堵技术研究与应用01041911
- 市场营销学
- 浅析四川旅游资源开发论文
- 数字毫秒计设计报告 - 图文
- photoshop课后练习题及答案
- 初一2018年班主任工作计划
- 海参行业进出口分析
- 人工湿地污水处理技术
- 水电站题库4
- 施工组织课程设计(附施工平面布置图及横道图)
- AMOS步步教程
- 陕西省建筑工程施工质量验收技术资料管理整编规定及指南
- 工大西村深基坑支护及土方开完专项施工方案
- 陆良三中教师节篮球运动会竞赛规程
- 环境与资源保护法学练习题(试卷及答案)
- IT专业英语词汇
- 命身迁宫主星互入的补充讲解