php数据分页显示基础
一:分页原理:
所谓分页显示,也就是将数据库中的结果集认为的分成一段一段的来显示,需要两个初始的参数:
每页多少条记录 ($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 ...
- 解决springboot+vue+mybatis中,将后台数据分页显示在前台,并且根据页码自动跳转对应页码信息
文章目录 先看效果 1.要考虑的问题,对数据进行分页查询 2.前端和后台的交互 先看效果 1.要考虑的问题,对数据进行分页查询 mapper文件这样写 从每次开始查询的位置,到每页展示的条数, < ...
- php按条件查询的数据分页显示,点击下一页时又列出全部数据的解决办法
其实很简单,只要把表单提交方式改为get方式就行了,然后调用分页函数: function getpage(&$m,$where,$pagesize=10){ $m1=clone $m;//浅复 ...
随机推荐
- 浅谈前后端分离与实践 之 nodejs 中间层服务(二)
一.背景 书接上文,浅谈前后端分离与实践(一) 我们用mock服务器搭建起来了自己的前端数据模拟服务,前后端开发过程中只需定义好接口规范,便可以相互进行各自的开发任务.联调的时候,按照之前定义的开发规 ...
- 【转】嵌入式C语言调试开关
在调试程序时,经常会用到assert和printf之类的函数,我最近做的这个工程里就有几百个assert,在你自认为程序已经没有bug的时候,就要除去这些调试代码,应为系统在正常运行时这些用于调试的信 ...
- 基于JavaBean编辑器读取peroperties文件
引言 最近在重读<精通Spring+4.x++企业应用开发实战>这本书,看到了有关JavaBean编辑器的部分,了解到PropertyEditor和BeanInfo的使用.不得不说,Bea ...
- macOs升级到10.13.1Beta || JAVA升级到最新版之后PhpStorm菜单栏问题
macOs升级到10.13.1Beta || JAVA升级到最新版之后PhpStorm菜单栏会消失,估计不止出现在PhpStorm,一系列jetbrains的产品可能都会有这个问题,包括eclipis ...
- iOS之 NSTimer(二)
1. Stopping a Timer 关闭定时器 if you create a non-repeating timer, there is no need to take any further ...
- 基于HTML5 Canvas的3D动态Chart图表
发现现在工业SCADA上或者电信网管方面用图表的特别多,虽然绝大部分人在图表制作方面用的是echarts,他确实好用,但是有些时候我们不能调用别的插件,这个时候就得自己写这些美丽的图表了,然而图表轻易 ...
- CSharpGL(45)自制控件的思路
CSharpGL(45)自制控件的思路 +BIT祝威+悄悄在此留下版了个权的信息说: 本文介绍CSharpGL实现自制控件的方法. 所谓自制控件,就是用纯OpenGL模仿WinForm里的Button ...
- C#设计模式--简单工厂模式
简单工厂模式是属于创建型模式,但不属于23种GOF设计模式之一. 举一个例子:一个公司有不同的部门,客户根据需要打电话到不同的部门.客户相当于上端,不同部门相当于下端.不使用简单工厂模式来实现的例子如 ...
- addEventListener和attachEvent二者绑定的执行函数中的this不相同【转载】
yuanwen http://www.jb51.net/article/32511.htm 写 addEventListener 和 attachEvent 区别的博文不少,不过大部分都把重点放置于前 ...
- phpstorm2016.3+xdebug调试
1.首先打开PHP配置文件,php.in修改相关xedebug配置 ; XDEBUG Extension [xdebug] zend_extension ="d:/wamp64/bin/ph ...