完全讲解PHP+MySQL的分页显示示例分析

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程序员的帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, mysql 连接数 分布式
, echo
, mysql_fetch_array
, pages
, page
PageSize
pagehelper 分页示例、jeecms 分页示例、easyui 做分页示例、电气图纸讲解示例、mysql示例数据库下载,以便于您获取更多的相关知识。

时间: 2024-10-02 10:13:43

完全讲解PHP+MySQL的分页显示示例分析的相关文章

web开发中PHP+MySQL分页显示示例分析

mysql|web|分页|示例|显示     Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观.所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写. 一.分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page).有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql

PHP+MySQL分页显示示例分析

Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观.所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写. 一.分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page).有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-

jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解_jquery

本文使用jQuery,结合PHP和Mysql,通过实例讲解如何实现Ajax数据加载效果. HTML <div id="list"> <ul></ul> </div> <div id="pagecount"></div> 页面中,#list用来展示数据列表,包括本例要展示的商品图片和标题,#pagecount用来展示分页条,即本例中的上一页.下一页. 当然,别忘了,在head中预先载入jquery

用 javabean 来实现 MySQL 的分页显示

mysql|分页|显示 用 javabean 来实现 MySQL 的分页显示 ●○●○●○●○●○●○●○●○●○●○●○●○●○●○○  作者:刘湛      日期:2000-02-04      jeru@163.net  ●●  http://www.cyberlabs.com/~jeru/                   ○○  欢迎访问爪哇人,获取更多资料                      ●●○●○●○●○●○●○●○●○●○●○●○●○●○●○ 今天写了个 MySQL

急!关于mysql+jsp分页显示的问题,请哪位好心的大神帮忙看一下,很急!!谢谢!!

问题描述 急!关于mysql+jsp分页显示的问题,请哪位好心的大神帮忙看一下,很急!!谢谢!! 浏览器显示时总是重复出现当前页最后一条信息,是怎么回事啊? 这是jsp代码: <% int pageNum = 1; int pageSize=LunwenDao.PAGE_NUM; String paramPage = request.getParameter("page"); if (paramPage != null) { pageNum = Integer.parseInt(

PHP和MySQL分页显示实例分析

Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观.所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写. 一.分页程序的原理 分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page).有了这两个参数就可以很方便的写出分页程序,我们以MySql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-

PHP+MySQL下分页显示的实现

mysql|分页|显示 最近,论坛里有很我人都在问如何实现查询结果的分页显示.我希望下面的这段代码对你改进自己的程序能有所帮助.这些代码是用于MYSQL的,但很容易移植到其它SQL上. 由于每个程序的特殊性,所以我在MYSQL的查询里使用了一些很通用的语句.用你的表名替换TABLE:用你的条件语句代替YOUR_CONDITION_HERE:用你希望按其排序的字段名代替WHATEVER(当然如果要排倒序,别忘了加上DESC子句). <?php $qh=mysql_query("SELECT

MySQL union 语法代码示例分析_Mysql

复制代码 代码如下: SELECT ... UNION [ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...] SELECT ... UNION [ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...] UNION 用于把来自许多SELECT语句的结果组合到一个结果集合中. (如果你要将多个表的查询结果进行合并输出比如说 群组消息跟个人消息表是分离的但是想

php获取文件夹路径内的图片以及分页显示示例_php实例

复制代码 代码如下: <div style="width: 90%; margin: 10px auto; border: 1px solid #ccc; text-align: center">    <?php    $page=isset($_GET['page'])?$_GET['page']:0;//从零开始    $imgnums = 10;    //每页显示的图片数    $path="upload";   //图片保存的目录