Penomboran menggunakan MySQL LIMIT dan OFFSET: Panduan Komprehensif
Penomboran ialah teknik penting yang digunakan untuk memaparkan data dalam bahagian yang boleh diurus pada halaman web. Dalam konteks ini, pengendali LIMIT dan OFFSET MySQL memainkan peranan penting dalam mencapai penomboran. Artikel ini memberikan penjelasan terperinci tentang penomboran menggunakan operator ini, bersama-sama dengan contoh dunia sebenar.
Pertimbangkan senario di mana anda mempunyai jadual bernama menuitem yang mengandungi 20-30 item menu. Matlamat anda adalah untuk memaparkan item ini dalam cara penomboran, dengan empat item setiap halaman. Untuk mencapai ini, anda mula-mula menggunakan kod berikut untuk memaparkan halaman pertama:
$result = mysqli_query($con,"SELECT * FROM menuitem LIMIT 4");
Pertanyaan ini memaparkan empat item pertama. Walau bagaimanapun, untuk mengendalikan halaman tambahan, anda memerlukan mekanisme untuk menentukan bilangan halaman yang tersedia secara dinamik. Ini boleh dicapai dengan mengira jumlah kiraan baris dalam jadual:
$sql = "SELECT your_primary_key_field FROM menuitem"; $result = mysqli_query($con, $sql); $row_count = mysqli_num_rows($result);
Seterusnya, hitung bilangan halaman berdasarkan jumlah kiraan baris dan bilangan item setiap halaman:
$page_count = 0; if (0 === $row_count) { // Handle the case where the table is empty } else { $page_count = (int)ceil($row_count / $items_per_page); }
Untuk menavigasi antara halaman, anda boleh menggunakan parameter URL seperti halaman. Sebagai contoh, URL http://yoursite.com/itempage.php?page=2 akan memaparkan halaman kedua. Untuk mengendalikan permintaan ini, anda boleh mengubah suai pertanyaan SQL anda seperti berikut:
// determine page number from $_GET $page = 1; if(!empty($_GET['page'])) { $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT); if(false === $page) { $page = 1; } } // set the number of items to display per page $items_per_page = 4; // build query $offset = ($page - 1) * $items_per_page; $sql = "SELECT * FROM menuitem LIMIT " . $offset . "," . $items_per_page;
Pertanyaan ini mengira offset secara dinamik berdasarkan nombor halaman yang diminta, membolehkan anda memaparkan halaman hasil yang sesuai.
Untuk memaparkan pautan penomboran, anda boleh menggunakan gelung untuk menjana pautan bagi semua halaman yang tersedia:
for ($i = 1; $i <= $page_count; $i++) { if ($i === $page) { echo 'Page ' . $i . '<br>'; } else { echo '<a href="/menuitem.php?page=' . $i . '">Page ' . $i . '</a><br>'; } }
Dengan mengikuti ini langkah, anda boleh melaksanakan penomboran dengan berkesan menggunakan MySQL LIMIT dan OFFSET, menyediakan cara yang mesra pengguna dan cekap untuk memaparkan set data yang besar secara berstruktur.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran dalam MySQL: Panduan Komprehensif Menggunakan LIMIT dan OFFSET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!