All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
轻松实现无刷新三级联动菜单[VS2005与AjaxPro]_[Asp.Net教程]
FreeBSD5.3下安装Apache+PHP+MySQL+Tomcat_[PHP教程]
PHP开发网站来看:PHP网站开发方案_php资料_编程技术
如何在十天学内会php之第九天_[PHP教程]
windows环境下uploaded_file函数如何饶过缺陷_php资料_编程技术
asp.net使用存储过程实现用户登录_[Asp.Net教程]
SQLServer数据库维护计划莫名其妙就失效的解决办_[SQL Server教程]
visit c++中打开数据与关闭数据连接
PHP技巧:使用APC缓存优化PHP程序_php资料_编程技术
动态网页技术PHP的数组处理函数库_[PHP教程]
Reading number is top 10 pictures
So beauty, will let you spray blood9
这才是真正的人体艺术3
Hunan province aizhai super-large suspension bridge open to traffic and 4 world first2
NeedWallpaper9
美女当网吧管理员的悲剧
湖边的风景
一个武林高手的故事
Group of female porn in 《westwards》, uninhibited woman threatened to not the bottom line
修电脑也有这么漂亮的美女
西游四格漫画(六)
Download software ranking
Tram sex maniac 2 (H) rar bag14
SP3 for SQL2000
ASP.NET.2.0.XML.高级编程(第3版)
终极变速大师Speeder3.26
Unix video tutorial10
JSP+Ajax Web development typical examples
VC++6.0培训教程
实战黑客不求人
SQL2000 For 4IN1
The Bermuda triangle1
归海一刀 published in(发表于) 2014/2/17 7:44:01 Edit(编辑)
完全讲解PHP+MySQL的分页显示示例分析_[PHP教程]

完全讲解PHP+MySQL的分页显示示例分析_[PHP教程]

完全讲解PHP+MySQL的分页显示示例分析_[PHP教程]

Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。


一、分页程序的原理


分页程序有两个非常重要的参数:每页显示几条记录(pagesize)和当前是第几页(page)。有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在MySQL里如果要想取出表内某段特定内容可以使用的T-SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset=pagesize*(page-1),rows是要显示的记录条数,这里就是page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。


二、主要代码解析



pagesize=10; //设置每一页显示的记录数
conn=mysql_connect("localhost","root",""); //连接数据库
rs=mysql_query("select count(*) from tb_product",conn); //取得记录总数rs
myrow = mysql_fetch_array(rs);
numrows=myrow[0];
//计算总页数
pages=intval(numrows/pagesize);
//判断页数设置
if (isset(_GET['page'])){
 page=intval(_GET['page']);
}
else{
 page=1; //否则,设置为第一页
}


三、创建用例用表myTable



create table myTable
(id int NOT NULL auto_increment,news_title varchar(50),
news_cont text,add_time datetime,PRIMARY KEY(id))


四、完整代码



<html>
<head>
<title>php分页示例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<?php
 conn=mysql_connect("localhost","root","");
 //设定每一页显示的记录数
 pagesize=1;
 mysql_select_db("mydata",conn);
 //取得记录总数rs,计算总页数用
 rs=mysql_query("select count(*) from tb_product",conn);
 myrow = mysql_fetch_array(rs);
 numrows=myrow[0];
 //计算总页数
 pages=intval(numrows/pagesize);
 if (numrows%pagesize)
pages++;
 //设置页数
 if (isset(_GET['page'])){
page=intval(_GET['page']);
 }
 else{
//设置为第一页
page=1;
 }
 //计算记录偏移量
 offset=pagesize*(page - 1);
 //读取指定记录数
 rs=mysql_query("select * from myTable
order by id desc limit offset,pagesize",conn);
 if (myrow = mysql_fetch_array(rs))
 {
i=0;
?>
<table border="0" width="80%">
<tr>
 <td width="50%" bgcolor="#E0E0E0">
<p align="center">标题</td>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">发布时间</td>
</tr>
<?php
 do {
i++;
?>
<tr>
 <td width="50%"><?=myrow["news_title"]?></td>
 <td width="50%"><?=myrow["news_cont"]?></td>
</tr>
 <?php
 }
 while (myrow = mysql_fetch_array(rs));
echo "</table>";
}
echo "<div align='center'>共有".pages."页(".page."/".pages.")";
for (i=1;i< page;i++)
 echo "<a href='fenye.php?page=".i."'>[".i ."]</a> ";
 echo "[".page."]";
 for (i=page+1;i<=pages;i++)
echo "<a href='fenye.php?page=".i."'>[".i ."]</a> ";
echo "</div>";
 ?>
</body>
</html>


五、总结


本例代码在windows2000 server+php4.4.0+mysql5.0.16上运行正常。该示例显示的分页格式是[1][2][3]…这样形式。假如想显示成“首页 上一页 下一页 尾页”这样形式,请加入以下代码:



first=1;
prev=page-1;
next=page+1;
last=pages;
if (page > 1)
{
 echo "<a href='fenye.php?page=".first."'>首页</a> ";
 echo "<a href='fenye.php?page=".prev."'>上一页</a> ";
}
if (page < pages)
{
 echo "<a href='fenye.php?page=".next."'>下一页</a>
 echo "<a href='fenye.php?page=".last."'>尾页</a> ";
}


其实,写分页显示代码是很简单的,只要掌握了它的工作原理。希望这篇文章能够带给那些需要这方面程序web程序员的帮助。








添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.