PHP 翻页 实例代码

接下来我将为您详细讲解关于“PHP 翻页 实例代码”的完整攻略。

接下来我将为您详细讲解关于“PHP 翻页 实例代码”的完整攻略。

什么是翻页?

翻页(Paging或Pagination)是指在页面上分多个条目或栏目显示信息,需要在用户界面上实现将这些条目或栏目分批次或一页一页显示的功能。对于常见的网页来说,翻页是一种方便用户查看大量数据的方式,是一个基本而又普遍的需求。

翻页实现的主要难点

PHP实现翻页主要的难点在于计算翻页的偏移量和总页数。以下是实现翻页时的重要变量和相关的公式:

变量:

  • $page:当前页数
  • $pageSize:每页显示数据条数
  • $totalNum:总的数据条数

公式:

  • $offset = ($page-1)*$pageSize:计算偏移量
  • $totalPages = ceil($totalNum/$pageSize):总页数

翻页实现方法

第一种方法:使用MySQL的limit语句

第一种方法是使用MySQL的limit语句来实现翻页,这种方法最为简单,只需要一个MySQL的limit语句即可。

以下是一个简单的例子:

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$pageSize = 10;

$offset = ($page - 1) * $pageSize;

$sql = "SELECT * FROM news LIMIT $offset, $pageSize";
$results = mysqli_query($conn, $sql);

while($row = mysqli_fetch_assoc($results)) {
    echo $row['title'];
}

$totalSql = "SELECT COUNT(*) FROM news";
$totalResults = mysqli_query($conn, $totalSql);
$totalRow = mysqli_fetch_row($totalResults);

$totalNum = $totalRow[0];

$totalPages = ceil($totalNum / $pageSize);

for($i = 1; $i <= $totalPages; $i++) {
    echo "<a href='index.php?page=$i'>$i</a>";
}

这个例子中,我们使用了MySQL的limit语句来实现翻页,同时也计算了翻页的总页数与总数。

第二种方法:手动实现翻页

第二种方法是手动实现翻页,这种方法稍微复杂一些,需要根据当前页数和总页数手动输出翻页链接。

以下是一个简单的例子:

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$pageSize = 10;

$offset = ($page - 1) * $pageSize;

$sql = "SELECT * FROM news LIMIT $offset, $pageSize";
$results = mysqli_query($conn, $sql);

while($row = mysqli_fetch_assoc($results)) {
    echo $row['title'];
}

$totalSql = "SELECT COUNT(*) FROM news";
$totalResults = mysqli_query($conn, $totalSql);
$totalRow = mysqli_fetch_row($totalResults);

$totalNum = $totalRow[0];

$totalPages = ceil($totalNum / $pageSize);

if ($page != 1) {
    echo "<a href='index.php?page=1'>首页</a>";
    echo "<a href='index.php?page=".($page-1)."'>上一页</a>";
}

for($i = max(1, $page-5); $i <= min($page+5, $totalPages); $i++) {
    if($i != $page) {
        echo "<a href='index.php?page=$i'>$i</a>";
    } else {
        echo "<span>$i</span>";
    }
}

if ($page != $totalPages) {
    echo "<a href='index.php?page=".($page+1)."'>下一页</a>";
    echo "<a href='index.php?page=$totalPages'>末页</a>";
}

在这个例子中,我们手动实现了翻页,输出了首页、上一页、下一页、末页和中间的页码链接。同时,我们使用了一个max和min方法来保证页码的合法性。

攻略总结

以上就是关于“PHP 翻页 实例代码”的详细攻略。在实现翻页的过程中,我们可以使用MySQL的limit语句来简单实现翻页,也可以手动实现翻页输出翻页链接,具体根据自己的需求来选择。翻页涉及到翻页偏移量和总页数的计算,可以根据上文给出的公式来计算。最后,希望这篇攻略对大家有所帮助。

本文标题为:PHP 翻页 实例代码

基础教程推荐