溫馨提示×

php table的分頁功能如何實現(xiàn)

PHP
小樊
83
2024-09-09 02:14:40
欄目: 編程語言

在PHP中,實現(xiàn)table分頁功能需要以下幾個步驟:

  1. 獲取數(shù)據(jù)庫中的數(shù)據(jù) 首先,你需要連接到數(shù)據(jù)庫并從表中獲取數(shù)據(jù)??梢允褂肞DO或MySQLi擴展來實現(xiàn)。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 創(chuàng)建連接
$conn = new mysqli($servername, $username, $password, $dbname);

// 檢查連接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
}

// 查詢數(shù)據(jù)
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
?>
  1. 設(shè)置每頁顯示的記錄數(shù) 定義一個變量,用于設(shè)置每頁顯示的記錄數(shù)。
<?php
$records_per_page = 10;
?>
  1. 計算總頁數(shù)和當(dāng)前頁 通過查詢結(jié)果的行數(shù)除以每頁顯示的記錄數(shù),得到總頁數(shù)。然后,根據(jù)用戶請求的頁碼來確定當(dāng)前頁。
<?php
// 計算總頁數(shù)
$total_pages = ceil($result->num_rows / $records_per_page);

// 獲取當(dāng)前頁
if (isset($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = 1;
}

// 防止頁碼超出范圍
if ($page < 1) {
    $page = 1;
} elseif ($page > $total_pages) {
    $page = $total_pages;
}
?>
  1. 限制查詢結(jié)果 使用LIMIT子句限制查詢結(jié)果,只返回當(dāng)前頁的記錄。
<?php
$start_from = ($page - 1) * $records_per_page;
$sql = "SELECT id, name, email FROM users LIMIT $start_from, $records_per_page";
$result = $conn->query($sql);
?>
  1. 顯示數(shù)據(jù)和分頁導(dǎo)航 在HTML表格中顯示查詢結(jié)果,并添加分頁導(dǎo)航。
<!DOCTYPE html>
<html>
<head>
   <title>分頁功能</title>
</head>
<body><table border="1">
    <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>郵箱</th>
    </tr>
    <?php while($row = $result->fetch_assoc()): ?>
    <tr>
        <td><?php echo $row['id']; ?></td>
        <td><?php echo $row['name']; ?></td>
        <td><?php echo $row['email']; ?></td>
    </tr>
    <?php endwhile; ?>
</table>

<nav>
    <ul>
        <li><a href="?page=1">首頁</a></li>
        <li><a href="?page=<?php echo $page - 1; ?>">上一頁</a></li>
        <li><a href="?page=<?php echo $page + 1; ?>">下一頁</a></li>
        <li><a href="?page=<?php echo $total_pages; ?>">尾頁</a></li>
    </ul>
</nav>

</body>
</html>
  1. 關(guān)閉數(shù)據(jù)庫連接 完成操作后,關(guān)閉數(shù)據(jù)庫連接。
<?php
$conn->close();
?>

將以上代碼保存為一個PHP文件(例如:pagination.php),然后在瀏覽器中運行該文件,你將看到一個包含分頁功能的表格。注意,你需要根據(jù)自己的數(shù)據(jù)庫配置修改連接信息。

0