Apabila laman web berkembang dan kandungan halaman menjadi semakin banyak, amalan memuatkan semua kandungan pada permulaan secara beransur-ansur tidak diterima. Akibatnya, penomboran secara beransur-ansur telah diterima pakai secara meluas, memberikan pengalaman pengguna yang lebih baik untuk tapak web yang membaca set data yang besar. Artikel ini akan memperkenalkan proses melaksanakan paging dengan PHP.
Sebelum mula melaksanakan paging, anda perlu menyediakan beberapa data. Data ini termasuk jumlah data dan jumlah data yang akan dipaparkan pada setiap halaman. Sebagai contoh, kami menganggap bahawa kami perlu menanyakan data pengguna dalam pangkalan data dan menetapkan jumlah data yang akan dipaparkan pada setiap halaman kepada 10. Selain itu, nombor halaman semasa perlu ditentukan dan maklumat ini akan dihantar ke skrip halaman melalui parameter URL.
Pertama, pertanyaan pangkalan data diperlukan untuk mendapatkan jumlah data. Sebagai contoh, dalam contoh ini, kami ingin menanyakan jumlah data dalam jadual pengguna. Pernyataan pertanyaan adalah seperti berikut:
SELECT COUNT(*) FROM users
Dengan menjalankan penyataan ini, kita boleh mengetahui bilangan keping data yang terdapat dalam jadual pengguna. Jika nilai pulangan ialah 121, maka kami mempunyai 121 data pengguna untuk diproses.
Selepas mendapat jumlah data, anda perlu mengira jumlah halaman keseluruhannya. Kaedah pengiraan ini sangat mudah, hanya bahagikan jumlah data dengan jumlah data yang akan dipaparkan pada setiap halaman, dan bulatkan. Dalam contoh ini, 10 keping data akan dipaparkan pada setiap halaman, dan jumlah data ialah 121 keping, jadi sejumlah 12 halaman diperlukan.
Membina pautan paging ialah langkah paling kritikal dalam proses melaksanakan fungsi paging. Nombor halaman dan pautan perlu dipaparkan pada halaman supaya pengguna boleh menyemak imbas halaman yang berbeza dengan mudah. Dalam contoh ini, kita perlu membina pautan penomboran berdasarkan kiraan halaman semasa dan jumlah kiraan halaman.
Kita boleh menggunakan gelung for untuk merentasi daripada 1 kepada jumlah bilangan halaman untuk membina pautan bagi setiap nombor halaman, seperti yang ditunjukkan di bawah:
for($i=1;$i<=$total_pages;$i++){ echo "<a href='pagination.php?page=".$i."'>".$i."</a> "; }
Apabila membina pautan, nombor halaman semasa mesti Lulus sebagai parameter kepada pautan. Dalam contoh ini, alamat pautan ialah pagination.php, parameter ialah halaman dan nilai ialah nombor setiap halaman. Dengan cara ini, pautan ke semua nombor halaman boleh dibina.
Apabila pengguna mengklik pautan pada halaman tertentu, skrip paging perlu menanyakan pangkalan data berdasarkan nombor halaman dan mengembalikan data halaman semasa. Kita perlu menggunakan LIMIT dan OFFSET untuk mengehadkan bilangan dan kedudukan permulaan hasil pertanyaan.
Sebagai contoh, jika pengguna mengklik pautan pada halaman 3, pernyataan pertanyaan hendaklah seperti berikut:
SELECT * FROM users LIMIT 10 OFFSET 20
Pernyataan pertanyaan ini akan mengembalikan 10 keping data bermula dari bahagian ke-21 data , iaitu data pada halaman 3. Anda boleh menanyakan data halaman semasa dengan menetapkan LIMIT dan OFFSET kepada jumlah data yang akan dipaparkan setiap halaman dan nombor halaman semasa -1 didarab dengan jumlah data yang akan dipaparkan setiap halaman.
Akhir sekali, paparkan data bernombor pada halaman. Dalam contoh ini, kita perlu memaparkan data pengguna dari halaman 3. Anda boleh menggunakan pernyataan gelung untuk melintasi data yang ditanya daripada pangkalan data dan memaparkan output pada halaman. Kod khusus adalah seperti berikut:
$result = mysqli_query($conn, "SELECT * FROM users LIMIT 10 OFFSET 20"); while($row = mysqli_fetch_assoc($result)){ echo $row['username']."<br />"; }
Dengan menjalankan kod ini, 10 keping data pengguna pada halaman 3 akan dipaparkan pada halaman.
Di atas adalah proses utama menggunakan PHP untuk melaksanakan paging. Dengan menanyakan pangkalan data, mengira bilangan halaman, membina pautan paging, menanya data paging berdasarkan nombor halaman, dan akhirnya memaparkan data paging pada halaman, pengguna boleh menyemak imbas set data yang besar dengan mudah.
Atas ialah kandungan terperinci Cara menggunakan php untuk melaksanakan fungsi paging (analisis proses). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!