文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程PHP分页显示详解(with php)
精品推荐
特别推荐
·Apache指南:.htaccess文件使用手册
·结合PHP使用HTML表单
·初学PHP的基础例程
·菜鸟学PHP之Smarty入门
·PHP环境安全配置教程
·PHP入门指导:如何学习PHP?
·Php+Mysql注入专题
·PHP:实现给上传图片加水印的程序代码
热点TOP10
·PHP实现的简单日历代码
·PHPBB3跟网站结合,实现登入网站同时登入论坛
·用MVC模型引导你的WEB设计思路
·使用Spring邮件抽象层发送简单邮件
·PHP上传文件的代码
·学习动态网页技术PHP中参数引用返回的实例
·入门:PHP编程“数组”的基础知识
·一个实现将动态页面转为静态的方案

分页显示详解(with php)

日期:2007年7月24日 作者: 查看:[大字体 中字体 小字体]

作者:夜猫子(yeaha@163.com

1、前言

分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解。本文适合初学者阅读,所有示例代码均使用php编写。

2、原理

所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数:

每页多少条记录($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从数据库内获取数据并显示了。以下我将用具体代码加以说明。

3、简单代码
请详细阅读以下代码,自己调试运行一次,最好把它修改一次,加上自己的功能,比如搜索等等。

[code:1:c1661dd3ea]
<?php
// 建立数据库连接
$link = mysql_connect("localhost", "mysql_user", "mysql_password") 
       or die("Could not connect: " . mysql_error());

// 获取当前页数
if( isset($_GET['page']) ){
    $page = intval( $_GET['page'] );
}
else{
    $page = 1;
}

// 每页数量
$PageSize = 10;

// 获取总数据量
$sql = "select count(*) as amount from table";
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$amount = $row['amount'];

// 记算总共有多少页
if( $amount ){
    if( $amount < $page_size ){ $page_count = 1; }               //如果总数据量小于$PageSize,那么只有一页
    if( $amount % $page_size ){                                  //取总数据量除以每页数的余数

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] 下一页 



上一篇:菜鸟学PHP之Smarty入门

下一篇:显示照片exif信息PHP代码

相关文章:
·windows密码设置及破解详解
·AutoCAD常用菜单详解
·图文详解:如何调整光驱激光头功率
·MSComm控件使用详解
·基础知识 初级黑客安全技术命令详解
·BIOS详解
·QQ空间5.0皮肤代码显示半截解决方案
相关软件:
·孙鑫VC++从入门到精通开发详解视频教程FLASH版
·TCP-IP详解卷1:协议
·网络端口详解
·液晶显示器亮点坏点修复工具 V0.1
·方便之选-显示页面所有链接
·COME800来电显示客户管理系统 3.05 航空版
·显示器关闭工具 V2.1

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot