zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MySQL中分页查询的使用方法(mysql中分页关键字)

mysql方法 使用 查询 分页 关键字
2023-06-13 09:11:09 时间

MySQL中分页查询的使用方法

在处理较大量数据时,分页查询是必不可少的功能。MySQL作为一款轻量级数据库软件,也提供了方便的分页查询功能。本文将介绍MySQL中分页查询的使用方法,并通过代码演示其具体实现。

1. LIMIT关键字

MySQL中实现分页查询,需要用到LIMIT关键字。LIMIT可以指定查询结果的起始位置和要返回的记录数。其语法如下:

SELECT * FROM table_name LIMIT start, number

其中,“start”表示从哪一行开始返回记录,“number”表示返回的记录数。需要注意的是,“start”的值从0开始计算。

在实际使用中,我们通常会用到两个变量来实现分页功能:$page和$limit。其中,$page表示当前页数,$limit表示每页显示的记录数。通过以下代码可以获取查询结果的起始位置和要返回的记录数:

`php

$page = isset($_GET[ page ]) ? intval($_GET[ page ]) : 1;

$limit = isset($_GET[ limit ]) ? intval($_GET[ limit ]) : 10;

$start = ($page 1) * $limit;


2. 分页查询示例
为了演示MySQL中如何使用LIMIT进行分页查询,我们将创建一个名为“students”的数据表。表中包含3个字段:ID、Name、Age。具体创建方式如下:
```sqlCREATE TABLE students (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(50) NOT NULL,
Age INT NOT NULL);

在表中插入20条测试数据:

`sql

INSERT INTO students(Name, Age) VALUES

( 张三 , 18),( 李四 , 19),( 王五 , 20),( 赵六 , 21),

( 钱七 , 22),( 张八 , 23),( 李九 , 24),( 王十 , 25),

( 赵十一 , 26),( 钱十二 , 27),( 张十三 , 28),( 李十四 , 29),

( 王十五 , 30),( 赵十六 , 31),( 钱十七 , 32),( 张十八 , 33),

( 李十九 , 34),( 王二十 , 35),( 赵二十一 , 36),( 钱二十二 , 37);


接着,我们可以通过以下代码实现分页查询:
```php
//1.连接到MySQL数据库$pdo = new PDO("mysql:host=localhost;dbname=test;charset=utf8", "root", "123456");
//2.获取查询条件(即查询关键词)$keyword = isset($_GET["keyword"]) ? $_GET["keyword"] : "";
//3.获取当前页数和每页显示的记录数$page = isset($_GET["page"]) ? intval($_GET["page"]) : 1;
$limit = isset($_GET["limit"]) ? intval($_GET["limit"]) : 5;
//4.获取查询结果的起始位置$start = ($page - 1) * $limit;
//5.执行查询语句$sql = "SELECT * FROM students WHERE Name LIKE :keyword ORDER BY ID ASC LIMIT :start, :limit";
$stmt = $pdo- prepare($sql);$stmt- bindValue(":keyword", "%$keyword%", PDO::PARAM_STR);
$stmt- bindValue(":start", $start, PDO::PARAM_INT);$stmt- bindValue(":limit", $limit, PDO::PARAM_INT);
$stmt- execute();$result = $stmt- fetchAll(PDO::FETCH_ASSOC);
//6.输出查询结果foreach ($result as $row) {
echo $row["ID"] . "\t" . $row["Name"] . "\t" . $row["Age"] . "
";}
//7.输出分页导航栏$total = $pdo- query("SELECT COUNT(*) FROM students WHERE Name LIKE "%$keyword%"")- fetchColumn();
$total_page = ceil($total / $limit);echo "

";echo "总共有{$total}条记录,每页显示{$limit}条,共{$total_page}页

";if ($page 1) { echo "上一页 ";}
for ($i = 1; $i if ($page == $i) {
echo "$i "; } else {
echo "$i "; }
}if ($page
echo "下一页 ";}
?

通过访问index.php页面,即可实现简单的分页查询功能。例如,如果需要查询“张”开头的名字,并且每页显示5条记录,则可以使用以下URL进行访问:

index.php?keyword=张 page=1 limit=5

该URL将返回第1页,“张”开头的5条记录。如果需要访问下一页,则将“page”参数改为“2”。


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 MySQL中分页查询的使用方法(mysql中分页关键字)