返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP 分页
  • 739
分享到

PHP 分页

2024-02-27 21:02:00 739人浏览 薄情痞子
摘要

本文将介绍一种在 PHP 中使用 LIMIT 子句和 sql 中的 SELECT 语句在 php 中执行分页的方法。我们将使用 LIMIT 子句选择从特定索引开始的特定行数以显示为分页。我们还将演示

本文将介绍一种在 PHP 中使用 LIMIT 子句和 sql 中的 SELECT 语句在 php 中执行分页的方法。我们将使用 LIMIT 子句选择从特定索引开始的特定行数以显示为分页。

我们还将演示另一种在 PHP 分页中添加 PreviousNext 导航功能的方法。此方法仅添加了将相应页面导航到第一种方法的附加功能。


在 PHP 中在 SQL 中使用 LIMIT 子句和 SELECT 语句对行进行分页

我们可以使用 LIMIT 子句和 SELECT 语句来指定要在页面上显示的前 n 个结果。我们可以在 anchor 标签中提供页码作为 GET 方法来浏览页面。在此方法中,我们定义每页要显示的行数,并从数据库中检索所有行以计算所需的总页数。我们可以使用 $_GET 数组isset() 函数来获取用户请求的页码。

例如,创建一个变量 $results_per_page 并在其中存储 2。使用 Mysqli_num_rows() 函数查找数据库中的行数并存储在 $number_of_results 变量中。使用 ceil() 函数来确定显示行所需的总页数。将 $number_of_results 变量除以 ceil() 函数内的 $results_per_page 变量。使用 $_GET 超全局变量和 isset() 函数来检查 page 变量是否已设置。如果尚未设置,请将 $page 变量设置为 1。如果已设置变量,则将值分配给 $page 变量。用 1 减去 $page 变量并将其乘以 $this_page_first_result 变量。将操作存储在变量 $this_page_first_result 中。编写一个带有 LIMIT 子句的 SQL 语句为 SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page. 运行查询并显示结果。最后,创建一个 for 循环以在 $page 变量和 $number_of_page 之间循环。在循环内,echo anchor 标签并将 href 属性的值设置为 index.php?page'.$page。在 anchor 标签之间写入 $page 变量。

在下面的示例中,数据库中的 alpha 表包含六行。执行分页后,每页显示两行。ceil() 函数确定显示行所需的总页数。最初,$page 变量未设置,因此页面从第 1 页开始。$this_page_first_result 变量确定用户当前所在的页码。变量 $this_page_first_result 表示页面的第一行。变量 $results_per_page 表示每页的结果数。输出部分显示 index.php 页面。当点击页面 2 时,它会从数据库中输出接下来的两行。

示例代码:

#php 7.x
<?php
$number_of_pages = ceil($number_of_results/$results_per_page);
if (!isset($_GET['page'])) {
    $page = 1;
} else {
    $page = $_GET['page'];
}
$this_page_first_result = ($page-1)*$results_per_page;
$sql='SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page;
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result)) {
    echo $row['id'] . ' ' . $row['value']. '<br>';
}
for ($page=1;$page<=$number_of_pages;$page++) {
    echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
?>

输出:

1 A 
2 B 
1 2 3

在 PHP 的分页中添加 PreviousNext 导航功能

我们可以在第一种方法的代码示例中添加一些额外的代码片段,以在分页中提供 PreviousNext 导航功能。我们可以将 $page 变量递增和递减 1 以指向上一页和下一页。我们可以使用 anchor 标签中的递增和递减变量来实现 NextPrevious 功能。

例如,创建两个变量,$prev$next。用 1 减去 $page 变量并将操作分配给 $prev 变量。类似地,将 1 添加到 $page 变量并将其分配给 $next 变量。在页码的 for 循环之前回显一个 anchor 标签,上面写着 Previous。将 anchor 标签的 href 属性赋值为 index.php?page=' . $prev .。以同样的方式,使用 $next 变量作为 href 属性中 page 的值,为 Next 创建另一个 anchor 标记。

在下面的输出部分,它显示了第二页。单击 Previous 进入第一页,单击 Next 进入第三页。

示例代码:

# php 7.x
<?php
$prev = $page -1;
$next = $page +1;
echo ' <a href="index.php?page=' . $prev . '"> Previous </a> ';
for ($page=1;$page<=$number_of_pages;$page++) {
    echo '<a href="index.php?page=' . $page . '">' . $page . '</a> ';
}
echo ' <a href="index.php?page=' . $next . '"> Next </a> ';
?>

输出:

3 C 
4 D 
Previous 1 2 3 Next

--结束END--

本文标题: PHP 分页

本文链接: https://www.lsjlt.com/news/569209.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作