Phân trang kết quả truy vấn MySQL bằng PHP

Hướng dẫn cách phân trang kết quả truy vấn từ MySQL bằng PHP. Mã PHP này giúp chia nhỏ dữ liệu từ cơ sở dữ liệu MySQL thành các trang riêng biệt để hiển thị hiệu quả hơn.

<?php
// Kết nối cơ sở dữ liệu
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);

// Kiểm tra kết nối
if ($conn->connect_error) {
    die("Kết nối không thành công: " . $conn->connect_error);
}

// Thiết lập số lượng kết quả trên mỗi trang
$results_per_page = 10;

// Xác định số trang hiện tại
if (isset($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = 1;
}

// Xác định vị trí bắt đầu của kết quả trong CSDL
$start_from = ($page - 1) * $results_per_page;

// Truy vấn cơ sở dữ liệu với giới hạn kết quả cho mỗi trang
$sql = "SELECT * FROM table_name LIMIT $start_from, $results_per_page";
$result = $conn->query($sql);

// Hiển thị kết quả
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "ID: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
    }
} else {
    echo "Không có dữ liệu.";
}

// Đếm tổng số lượng kết quả trong cơ sở dữ liệu
$sql_total = "SELECT COUNT(id) AS total FROM table_name";
$result_total = $conn->query($sql_total);
$row_total = $result_total->fetch_assoc();
$total_pages = ceil($row_total["total"] / $results_per_page);

// Tạo các liên kết đến các trang
for ($i = 1; $i <= $total_pages; $i++) {
    echo "<a href='pagination.php?page=" . $i . "'>" . $i . "</a> ";
}

// Đóng kết nối
$conn->close();
?>

Giải thích chi tiết:

  1. Kết nối cơ sở dữ liệu:

    • $conn = new mysqli($servername, $username, $password, $dbname): Kết nối đến cơ sở dữ liệu MySQL.
  2. Thiết lập số lượng kết quả trên mỗi trang:

    • $results_per_page = 10: Xác định số lượng bản ghi sẽ hiển thị trên mỗi trang.
  3. Xác định số trang hiện tại:

    • $_GET['page']: Lấy số trang từ URL. Nếu không có trang được chỉ định, mặc định là trang 1.
  4. Xác định vị trí bắt đầu của kết quả:

    • $start_from = ($page - 1) * $results_per_page: Xác định bản ghi bắt đầu để hiển thị trên mỗi trang.
  5. Truy vấn cơ sở dữ liệu với giới hạn kết quả:

    • LIMIT $start_from, $results_per_page: Truy vấn dữ liệu từ vị trí $start_from với số lượng kết quả $results_per_page.
  6. Đếm tổng số lượng kết quả:

    • SELECT COUNT(id) AS total FROM table_name: Đếm tổng số lượng bản ghi trong bảng để xác định số trang cần có.
  7. Tạo các liên kết đến các trang:

    • for ($i = 1; $i <= $total_pages; $i++): Tạo các liên kết đến các trang dựa trên tổng số lượng trang.
  8. Đóng kết nối:

    • $conn->close(): Đóng kết nối đến cơ sở dữ liệu.

Phiên bản PHP:

Mã này có thể chạy trên các phiên bản PHP từ 5.0 trở lên và yêu cầu extension MySQLi.



Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Tạo mã Captcha bằng PHP

Hướng dẫn cách tạo mã Captcha đơn giản bằng PHP để bảo vệ website khỏi các hành vi spam và bot tự động.
Kiểm tra chuỗi có phải là chuỗi nhị phân hay không bằng PHP

Hướng dẫn cách kiểm tra chuỗi trong PHP xem chuỗi đó có phải là chuỗi nhị phân hay không (chỉ bao gồm các ký tự `0` và `1`). Bài viết sử dụng các hàm xử lý chuỗi cơ bản trong PHP.
Hướng dẫn tạo mục lục tự động cho bài viết bằng PHP

Bài viết hướng dẫn bạn cách tạo mục lục tự động cho nội dung bài viết bằng PHP, sử dụng lớp `DOMDocument` để phân tích cú pháp HTML và tạo cấu trúc mục lục với các tiêu đề.
Phòng chống XSS (Cross-site Scripting) bằng PHP

Hướng dẫn cách phòng chống XSS (Cross-site Scripting) trong PHP bằng cách lọc và thoát các đầu vào người dùng, nhằm bảo mật trang web trước các lỗ hổng XSS.
Cập nhật nhiều cột trong MySQL bằng PHP

Hướng dẫn cách cập nhật nhiều cột trong MySQL bằng PHP. Mã PHP này sử dụng câu lệnh UPDATE để thay đổi nhiều giá trị của các cột trong cơ sở dữ liệu MySQL.
Cách loại bỏ dấu câu từ chuỗi trong PHP

Hướng dẫn cách loại bỏ dấu câu từ một chuỗi trong PHP. Bài viết này giải thích cách sử dụng hàm `preg_replace` để xóa bỏ các ký tự dấu câu khỏi chuỗi.
Ví dụ về Singleton Pattern trong PHP

Hướng dẫn về Singleton Pattern trong PHP, bao gồm ví dụ cụ thể giúp bạn hiểu cách sử dụng mẫu thiết kế này trong lập trình hướng đối tượng.
Lấy ký tự cuối cùng của chuỗi trong PHP

Hướng dẫn cách sử dụng PHP để lấy ký tự cuối cùng của một chuỗi. Mã PHP này giúp bạn dễ dàng truy xuất ký tự cuối của chuỗi văn bản trong các thao tác xử lý chuỗi.
Xác thực JSON Web Token (JWT) trong PHP

Bài viết hướng dẫn cách sử dụng JSON Web Token (JWT) để xác thực trong PHP. Sử dụng JWT giúp bảo mật thông tin giữa client và server một cách hiệu quả và dễ dàng triển khai trong các ứng dụng web.
Cách truyền Authentication Header Token khi POST dữ liệu tới API bằng PHP

Hướng dẫn chi tiết cách sử dụng cURL trong PHP để truyền `Authentication Header Token` khi POST dữ liệu tới API. Giải pháp này giúp bảo mật và xác thực các yêu cầu tới API.

Đã thêm vào giỏ hàng