- 浏览: 152526 次
- 性别:
- 来自: 北京
最新评论
-
softor:
我遇到的问题是:<ul id="dodo&qu ...
JS阻止冒泡出现(cancelBubble=true;与stopPropagation -
dennisbing:
http://itwenti.com 有问题就上it问题网 ...
httpd.exe应用程序错误 -
jomoonrain:
我该考的都考了 我靠 还没好
httpd.exe应用程序错误 -
lonelydog:
谢谢,问题解决了。但我想不通的是我已经把/php5和/php5 ...
httpd.exe应用程序错误 -
m2maomao:
你太牛B了,兄弟,我最近也在搞PHP,就因为装这个PhpMyA ...
httpd.exe应用程序错误
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; //否则,设置为第一页
}
三、创建用例用表myTablecreate 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常用的一些基本函数(二)
2011-07-15 00:51 67611.函数strlen()取得变量的字节数$aa = &quo ... -
PHP常用的一些基本函数(一)
2011-07-15 00:51 6101.PHP声明和使用常量 define('CONSTANT ... -
smarty模板中类似for的功能实现
2011-07-15 00:50 9051. 功能说明,在页面使用smarty循环100次输出,类似f ... -
快速生成指定长度的数组的函数
2011-07-15 00:48 1083range() -- 建立一个包含指定范围单元的数组说明ar ... -
php获取当前网址url并替换参数
2011-07-15 00:45 1183没有使用ajax提交,就是最一般的提交的话,$_REQU ... -
php.ini中的短标签
2011-07-15 00:44 876今天给一个同事配环境,搞了两个小时,没有找到问题,就是加载到一 ... -
class内部和外部function的调用方法
2011-07-15 00:43 1648php中class中的function很多有的在class里面 ... -
PHP的unserialize返回false
2011-07-15 00:41 1188问题描述:如下是我序列化数组之后的数据,但是取出来之后, ... -
二维数组按字段名排序
2011-07-15 00:40 677需求说明: 产品的一个变态需求,按照序号输入 又重复的输入 ... -
PHP Snoopy网页抓取工具
2011-07-15 00:39 1035snoopy是一个php类,用来模仿web浏览器的功能,它 ... -
JOSN的入门介绍
2011-07-15 00:37 726JSON(JavaScript Object Nota ... -
PHP header函数的使用
2011-07-15 00:35 613网页的缓存是由HTTP消息头中的“Cache-contro ... -
PHP不加载缓存的操作
2011-07-15 00:34 542php操作是只能做到不缓存 // Date in ... -
session和cookie的区别
2011-07-15 00:32 652区别 Session是存在服务器端的;而Cookie是存 ... -
php连接数据库及一些相关操作
2011-07-15 00:31 599MYSQL函数 常用 ++++++ ... -
php中print和echo的区别,以及“”,‘’的区别
2011-07-15 00:30 729在 echo 函数中,可以同时输出多个字符串,而在 pri ... -
PHP在Apache如何配置虚拟主机
2011-07-15 00:24 653通常的访问链接都是http://localhost,看多了感觉 ... -
cookies的详细使用
2011-07-15 00:23 568今天使用setcookie("prefix& ... -
php判断字符以及字符串的包含方法属性
2011-07-15 00:22 808下面介绍使用方法: 1. strstr: 返回一个从被判断 ... -
php smarty js 设置cookies
2011-07-15 00:20 848php端判断cookies是否存在并设置cookies: ...
相关推荐
PHP+mysql分页原理和实例应用.pdf
1:环境配置与代码调试 2:PHP的数据类型与源码调试 3: 常用PHP运算类型介绍与应用 4:PHP条件语句介绍与应用...13:PHP+MYSQL分页原理 14:PHP上传原理及应用 15:PHP生成HTML文件原理 16.PHP小偷程序原理和实例
1:环境配置与代码调试 2:PHP的数据类型与源码调试 3: 常用PHP运算类型介绍与应用 4:PHP条件语句介绍与应用...13:PHP+MYSQL分页原理 14:PHP上传原理及应用 15:PHP生成HTML文件原理 16.PHP小偷程序原理和实例
13:PHP+MYSQL分页原理 14:PHP上传原理及应用 15:PHP生成HTML文件原理 16:PHP小偷程序原理和实例 17:PHP面向对象开发的学习(一) 18:PHP面向对象开发的学习(二) 19:PHP面向对象开发的学习(三) 20:PHP...
PHP100视频教程13:PHP+MYSQL分页原理 PHP100视频教程14:PHP上传原理及应用 PHP100视频教程15:PHP生成HTML文件原理 PHP100视频教程16:PHP小偷程序原理和实例 PHP100视频教程17:PHP面向对象开发的学习(一) ...
8-17 2.apache服务器使用及配置⑤ 作业点评 提出apache和php整合的需求 8-17 3.php开发环境的搭建和使用① appserv套件安装 8-17 4.php开发环境的搭建和使用② 自定义安装 8-17 5.php开发环境的搭建和使用③ 安装并...
8-17 2.apache服务器使用及配置⑤ 作业点评 提出apache和php整合的需求 8-17 3.php开发环境的搭建和使用① appserv套件安装 8-17 4.php开发环境的搭建和使用② 自定义安装 8-17 5.php开发环境的搭建和使用③ 安装并...
8-17 2.apache服务器使用及配置⑤ 作业点评 提出apache和php整合的需求 8-17 3.php开发环境的搭建和使用① appserv套件安装 8-17 4.php开发环境的搭建和使用② 自定义安装 8-17 5.php开发环境的搭建和使用③ 安装并...
8-17 2.apache服务器使用及配置⑤ 作业点评 提出apache和php整合的需求 8-17 3.php开发环境的搭建和使用① appserv套件安装 8-17 4.php开发环境的搭建和使用② 自定义安装 8-17 5.php开发环境的搭建和使用③ 安装并...
8-17 2.apache服务器使用及配置⑤ 作业点评 提出apache和php整合的需求 8-17 3.php开发环境的搭建和使用① appserv套件安装 8-17 4.php开发环境的搭建和使用② 自定义安装 8-17 5.php开发环境的搭建和使用③ 安装并...
第23章 MySQL API应用指南 23.1 PHP API(mysql接口) 23.2 PHP API(mysqli接口) 23.3 Perl DBI 23.4 JDBC(Connector/J) 23.5 ADO .NET(Connector/Net) 23.6 C API 第六部分 附录 ...
3.2.1测量PHP应用程序74 3.3剖析MySQL查询77 3.3.1剖析服务器负载77 3.3.2剖析单条查询81 3.3.3使用性能剖析87 3.4诊断间歇性问题88 3.4.1单条查询问题还是服务器问题89 3.4.2捕获诊断数据93 3.4.3一个诊断...
本书全面深入地介绍了MySQL的功能,主要内容包括MySQL、PHP、Apache、Perl等组件的安装与功能简介,mysql等一些重要系统管理工具和用户操作界面的使用,MySQL数据库系统设计的基础知识与用不同语言设计MySQL数据库的...
1.2 PHP的应用范围及案例 5 1.2.1 PHP可以做什么 5 1.2.2 PHP擅长的几个领域及产品介绍 5 1.2.3 PHP不适合做什么 6 1.2.4 其他案例 6 1.3 PHP的Hello, world预览 6 1.3.1 第一个PHP程序Hello, world 6 1.3.2 学习PHP...
13.1 分页技术的基本原理 13.2 数据库介绍 13.3 简单的分页技术实现 13.4 改进的分页显示模块 13.5 本章小结 第14章 计数器模块 14.1 文本计数器 14.2 图形计数器 14.3 防止刷新的计数器 14.4 本章小结 第15章 邮件...
我们在一些微博网站上可以碰到这样的应用,微博内容列表没有使用分页条,而是一次加载一定数量的记录显示在列表页,当用户浏览到列表页底部时,可以通过单击“查看更多”来加载更多记录。本文我将结合jQuery和PHP给...
特征MySQL数据库类具有多种功能,例如分页和存储结果; 具有多个参数和配置的轻松路由控制; 只需设置将使用的渲染器(视图,JSON,文件或文本)即可轻松返回数据。 可以使用预配置的命名url而不是普通url的