PHP MySQL数据分页
SQL SELECT语句查询总是可能导致数千条记录。但是在一个页面上显示所有结果并不是一个好主意。因此,我们可以根据要求将此结果划分为多个页面。分页意味着在多个页面中显示您的查询结果,而不是仅将它们全部放在一个长页面中。MySQL通过使用LIMIT子句帮助生成分页,该子句将采用两个参数。第一个参数为OFFSET,第二个参数应从数据库返回多少条记录。下面是一个使用LIMIT子句获取记录以生成分页的简单示例。
<html>
<head>
<title>PHP分页</title>
</head>
<body>
<?php
$dbhost = 'localhost'; // 数据库主机
$dbuser = 'root'; // 用户名
$dbpass = '123456'; // 密码
$rec_limit = 10; // 每页10条数据
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('连接失败: ' . mysqli_error());
}
mysqli_select_db($conn,'test'); // 要操作的数据
/* 获取所有的记录数 */
$sql = "SELECT COUNT(id) FROM test ";
$retval = mysqli_query( $conn, $sql );
if(! $retval ) {
die('没有获取到数据: ' . mysqli_error($conn));
}
$row = mysqli_fetch_array($retval, MYSQLI_NUM );
$rec_count = $row[0];
if( isset($_GET['page'] ) ) {
$page = $_GET['page'] + 1;
$offset = $rec_limit * $page ;
}else {
$page = 0;
$offset = 0;
}
$left_rec = $rec_count - ($page * $rec_limit);
$sql = "SELECT name ".
"FROM test ".
"LIMIT $offset, $rec_limit";
$retval = mysqli_query( $conn, $sql );
if(! $retval ) {
die('不能获取到数据: ' . mysqli_error($conn));
}
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)) {
echo "TEST name :{$row['name']} <br> ";
}
if( $page > 0 ) {
$last = $page - 2;
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$last\">上一页</a> |";
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$page\">下一页</a>";
}else if( $page == 0 ) {
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$page\">下一页</a>";
}else if( $left_rec < $rec_limit ) {
$last = $page - 2;
echo "<a href = \"".$_SERVER['PHP_SELF']."?page=$last\">最后一页</a>";
}
mysqli_close($conn);
?>
</body>
</html>
修改每页显示的数据或者插入多条数据查看效果,PHP MySQL插入数据。
PHP MySQL数据分页的更多相关文章
- 原生PHP实现Mysql数据分页功能
一. 思路整理 实现一个数据分页功能,需要有数据的总条数,每页展示的条数,和当前在第几页这三个参数 通过⌈总条数/每页展示的条数⌉可以得到总页数,比如某留言板有101条留言,每页展示10条,一那就需要 ...
- php分页例子实现读取mysql数据分页显示
以下代码是PHP分页案例,测试通过,主要是PHP+mysql实现分页,代码来处百度空间,有兴趣看的话可以了解一下PHP是如何分页的? <?php $link = mysql_connect(&q ...
- Oracle、MySql、SQLServer数据分页查询
看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: 别名.字段 FROM( SELECT row_nu ...
- Oracle、MySql、SQLServer 数据分页查询
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...
- Statement和PreparedStatement的特点 MySQL数据库分页 存取大对象 批处理 获取数据库主键值
1 Statement和PreparedStatement的特点 a)对于创建和删除表或数据库,我们可以使用executeUpdate(),该方法返回0,表示未影向表中任何记录 b)对于创建和 ...
- 【SQL】Oracle和Mysql的分页、重复数据查询(limit、rownum、rowid)
上周三面试题有两道涉及Oracle的分页查询,没有意外地凉了,现在总结一下. · Mysql mysql的分页可以直接使用关键字limit,句子写起来比较方便. 语法: ① limit m,n -- ...
- 数据分页jdbc+mysql实现
通过简单粗糙的功能不完善的客户管理案例体现jdbc+mysql的数据分页,与其说是管理系统,不如说就是一个jdbc数据分布的demo而已.但是话又说回来,麻雀虽小,五脏俱全.虽然是个小demo,但是其 ...
- 转Oracle、MySql、SQLServer 数据分页查询
最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...
- MySql查询分页数据
MySql查询分页数据
随机推荐
- 自定义Vue组件打包、发布到npm以及使用
本文将帮助:将自己写的Vue组件打包到npm进行代码托管,以及正常发布之后如何使用自己的组件. 本文讲述的仅仅是最基础的实现,其他复杂的操作需要非常熟悉webpack的相关知识,作者将继续学习. 先附 ...
- IOS中的深拷贝和浅拷贝
标签: 什么是深拷贝?什么是浅拷贝? 为什么经常看到字符串属性要这样定义,那个copy是神马意思? @property(nonatomic,copy)NSString* name; 为什么下面的写法是 ...
- [20190524]sqlplus 与输出&.txt
[20190524]sqlplus 与输出&.txt --//在sqlplus下 &一般作为参数替换,如何要输出&,一般有几种情况.据说这个问题是asktom站点查看最多的问题 ...
- mysql判断是否包含某个字符的方法和修改表中指定字段
用locate 是最快的,like 最慢.position一般实战例子:select * from historydatawhere locate('0',opennum) and locate('1 ...
- [Linux] 使用mount来挂载设备到目录
一般情况下直接mount 设备路径 目录路径,就可以了.umount 设备名,就可以卸载这个设备了使用lsblk -f可以查看挂载的设备,以及这些设备的文件系统. root@tao-PC:/boot# ...
- Day_04 面向对象
概述 对于面向对象编程的支持,Go语言设计得非常简洁而优雅.因为,Go语言并没有沿袭传统 面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承). 虚函 ...
- 分布式系统ID的几种生成办法
前言 一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以这种情况下我们并没有对此给 ...
- LeetCode 分治算法
分治算法:是将问题划分为一些独立的子问题,递归的求解个子问题,然后合并子问题的解而得到原问题的解. 分治算法步骤 step1 分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题: ...
- [C7] 支持向量机(Support Vector Machines) (待整理)
支持向量机(Support Vector Machines) 优化目标(Optimization Objective) 到目前为止,你已经见过一系列不同的学习算法.在监督学习中,许多学习算法的性能都非 ...
- Mybatis环境搭建(二)
1. 创建Maven Project,选择war,修改pom.xml <properties> <!-- JDK版本 --> <java.version>1.8&l ...