一:分页原理:
所谓分页显示,也就是将数据库中的结果集认为的分成一段一段的来显示,需要两个初始的参数:
每页多少条记录 ($PageSize)?
当前是第几页($CurrentPageID)?
还有其他的一些参数
比如:上一页($NextPageId)、总页数($numPages)等,都可以根据前边的得到。
以MYsql为例:如果要从表内截取某段内容,sql语句可以为:select * from table limit offset ,rows.
前十条记录: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
剩下的就是构造合适的php语句从数据库内获取数据并显示了。
例:1:链接数据库
$conn =mysql_connet('localhost','root','1234abcd') or die(‘链接数据库错误’.mysql_error());
2:选择数据库
mysql_query('set names utf8');
4:发送sql语句得到结果进行处理
4.1分页【分页要发出两个sql语句,一个获得$rowCount,一个是通过sql的limit获得分页结果。所以我们会获得两个结果集。
分页(获取四个值,两个sql语句)
$pageSize=3;//每页显示多少条记录
$rowCount=0;//共有多少条记录
$pageNow=1;//希望显示第几页
$pageCount=0;//一共有多少页【分页共有这个四个指标,缺一不可。由于$rowCount可以从服务器获得,所以可以给予初始值为0;
$pageNow希望显示第几页,这里最好是设置为0;$pageSize是每页显示多少条记录,这里根据网站需求提前制定。
$pageCount=ceil($rowCount/$pageSize),既然$rowCount可以初始值为0,那么$pageCount当然也就可以设置为0.四个指标,两个0,一个1,另一个为网站需求。】
//4.15根据分页链接来修改$pageNow的值
if(!empty($_GET['pageNow'])){
$pageNow=$_GET['pageNow'];[根据分页链接来修改$pageNow的值。'];}
$sql='select count(id) from emp';
$res1=mysql_query($sql);
//4.11取出行数
if($row=mysql_fetch_row($res1)){
$rowCount=$row[0];
}//[取得$rwoCount,然后就知道$pageCount这两个指标了。]
//4.13计算共有多少页
$sql="select * from emp limit $pageStart,$pageSize";//[根据$sql语句的limit 后面的两个值(起始值,每页条数),来实现分页。以及求得这两个值。]
$res2=mysql_query($sql,$conn) or die('无法获取结果集'.mysql_error());
echo '<table border=1>';[ echo "<table border='1px' cellspacing='0px' bordercolor='red' width='600px'>";]
"<tr><th>id</th><th>name</th><th>grade</th><th>email</th><th>salary</th><th><a href='#'>删除用户</a></th><th><a href='#'>修改用户</a></th></tr>"; while($row=mysql_fetch_assoc($res2)){
echo "<tr><td>{$row['id']}</td><td>{$row['name']}</td><td>{$row['grade']}</td><td>{$row['email']}</td><td>{$row['salary']}</td><td><a href='#'>删除用户</a></td><td><a href='#'>修改用户</a></td></tr>"; }
echo '</table>';
//4.14打印出页码的超链接
for($i=1;$i<=$pageCount;$i++){
echo "<a href='?pageNow=$i'>$i</a> ";//[打印出页码的超链接]
}
//5.释放资源,关闭连接
mysql_free_result($res2);
mysql_close($conn);
】。
php数据分页显示基础的更多相关文章
-
Javascript实例技巧精选(6)—滚动鼠标中键读取Json数据分页显示网页内容
>>点击这里下载完整html源码<< 截图如下: 滚动鼠标中键读取Json数据分页显示网页内容,关键的Javascript如下: <script type="t ...
-
PHP实现数据分页显示
分页在后台管理中是经常使用的功能,分页显示方便大量数据的管理. 实例代码如下: <!DOCTYPE html> <html> <head> <meta cha ...
-
ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(一)
为什么使用ListView+DataPager的方式实现分页显示? .net提供的诸多数据绑定控件,每一种都有它自己的优点和缺点.如果需要对数据进行操作,如果数据量不大的情况下,DataList和Gr ...
-
php分页例子实现读取mysql数据分页显示
以下代码是PHP分页案例,测试通过,主要是PHP+mysql实现分页,代码来处百度空间,有兴趣看的话可以了解一下PHP是如何分页的? <?php $link = mysql_connect(&q ...
-
11_MySQL如何让数据分页显示
-- 数据分页 SELECT empno,sal FROM t_emp LIMIT 5;
-
MVC数据库数据分页显示
首先从数据库获取数据 using System; using System.Collections.Generic; using System.Linq; using System.Web; usin ...
-
ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(二)
使用ListView控件进行修改,删除与添加操作1.页面代码: <asp:ListView ID="lv2" runat="server" onpagep ...
-
php按条件查询的数据分页显示,点击下一页时又列出全部数据的解决办法
其实很简单,只要把表单提交方式改为get方式就行了,然后调用分页函数: function getpage(&$m,$where,$pagesize=10){ $m1=clone $m;//浅复 ...
-
sql server 数据分页显示。
select [ID] ,[StockApplyCode] ,[RcCode] ,[LabCenterCode] ,[LabGroupCode] ,[LabGroupName] ,[Barcode] ...
随机推荐
-
phpStudy
『软件简介』 该 程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使 ...
-
基于RDBMS的BI设计
================================ 都说BI,什么OLAP,什么ROLAP,MOLAP,但是如何基于RDBMS实现,基本都不怎么说. 怎么做的: 1.通过多维分析模型,存 ...
-
将mysql的查询结果输出到文件
在sql命令中我们可以查询到前数行的表,同时也可以将查询结果输出到txt文档 语句:select * from tablename into outfile 'filename.txt'; 例如:se ...
-
ubuntu 安装eclipse
安装步骤: 一.下载客户端: 解压放到,/opt/Java/eclipse目录下,解压方法参考上一篇文章<ubuntu 配置Java jdk> 二.打开eclipse: 打开终端,输入,c ...
-
webapp之路--meta标签format-detection、apple-mobile-web-app-capable
1. format-detection翻译成中文的意思是“格式检测”,顾名思义,它是用来检测html里的一些格式的,那关于meta的format-detection属性主要是有以下几个设置: meta ...
-
partition List(划分链表)
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
-
ccpc杭州站 赛后总结
Ccpc杭州站赛后总结 2017年11月4号五号,我参加了ccpc杭州站的比赛,我的队友是聂少飞和王艳,在4号一点半,举行了比赛开幕式,听着教练代表的发言,听着参赛选手代表的发言,听着志愿者的发言,都 ...
-
[Swift]LeetCode234. 回文链表 | Palindrome Linked List
Given a singly linked list, determine if it is a palindrome. Example 1: Input: 1->2 Output: false ...
-
Lua在Redis中的应用
转载至笑松小站http://blog.seoui.com/2018/01/27/redis-lua/ redis从2.6版本开始内置支持Lua解释器,解释器提供了3个函数来处理redis的命令redi ...
-
解决audio 在部分移动端浏览器不能自动播放(目前包括ios、微博)
问题描述:项目需要在页面加载完成后自动播放音乐,但在ios中却无法自动播放,需要用户主动触发 解决办法: $('html').one('touchstart',function(){ document ...