Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah saya Melaksanakan Penomboran Dengan MySQL LIMIT dan OFFSET?

Bagaimanakah saya Melaksanakan Penomboran Dengan MySQL LIMIT dan OFFSET?

DDD
Lepaskan: 2024-12-18 03:51:19
asal
860 orang telah melayarinya

How do I Implement Pagination With MySQL LIMIT and OFFSET?

Penomboran Menggunakan MYSQL LIMIT, OFFSET

Penomboran ialah teknik yang digunakan untuk memaparkan set data yang besar dalam bongkah atau halaman yang boleh diurus. Dalam MySQL, ini boleh dicapai menggunakan klausa LIMIT dan OFFSET.

Persoalannya

Seorang pengguna mempunyai jadual pangkalan data dengan sejumlah besar item dan ingin melaksanakan penomboran pada halaman web. Pengguna telah menyediakan kod untuk memaparkan bilangan item tetap (mis., 4) setiap halaman, tetapi mereka perlu menentukan jumlah halaman secara dinamik dan membenarkan pengguna menavigasi antara mereka.

Jawapannya

Untuk mencapai ini, disyorkan untuk menggunakan parameter pertanyaan URL untuk penomboran. Parameter harus mewakili nombor halaman, seperti "/itempage.php?page=2". Dalam kod sisi pelayan, anda boleh mendapatkan semula nombor halaman menggunakan $_GET['halaman' dan menggunakannya untuk mengira nilai LIMIT dan OFFSET untuk pertanyaan SQL anda.

Contohnya:

$page = 1;
if (!empty($_GET['page'])) {
    $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT);
    if ($page === false) {
        $page = 1;
    }
}

$items_per_page = 4;
$offset = ($page - 1) * $items_per_page;

// Build the SQL query
$sql = "SELECT * FROM menuitem LIMIT " . $offset . "," . $items_per_page;
Salin selepas log masuk

Untuk menentukan jumlah halaman, laksanakan pertanyaan SQL yang berasingan sebelum mengehadkan keputusan:

$sql = "SELECT COUNT(*) AS total_rows FROM menuitem";
$result = mysqli_query($con, $sql);
$row_count = mysqli_num_rows($result);
mysqli_free_result($result);

$page_count = 0;
if ($row_count === 0) {
    // Handle empty table error
} else {
    $page_count = ceil($row_count / $items_per_page);

    if ($page > $page_count) {
        // Handle out-of-range page request
    }
}
Salin selepas log masuk

Dengan jumlah kiraan halaman dan nombor halaman semasa, anda kini boleh menjana pautan navigasi secara dinamik untuk kandungan bernombor.

Atas ialah kandungan terperinci Bagaimanakah saya Melaksanakan Penomboran Dengan MySQL LIMIT dan OFFSET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan