Rumah > Artikel > pembangunan bahagian belakang > Penomboran PHP
Penomboran dalam PHP merujuk kepada proses membahagikan set data yang besar kepada bahagian yang lebih kecil dan lebih mudah diurus yang dipanggil "halaman." Ia biasanya digunakan dalam aplikasi web untuk memaparkan bilangan rekod atau hasil yang terhad bagi setiap halaman, membolehkan pengguna menavigasi data dengan mudah.
Penomboran adalah penting apabila berurusan dengan set data yang besar kerana memaparkan semua rekod pada satu halaman boleh membawa kepada isu prestasi dan antara muka pengguna yang luar biasa. Dengan melaksanakan penomboran, anda boleh meningkatkan pengalaman pengguna dan mengoptimumkan prestasi aplikasi anda.
Buat fail PHP baharu di lokasi kerja anda dan simpan dengan nama yang anda inginkan.
Di sini kami menggunakan jadual data pelajar dengan 121 rekod dalam pangkalan data localhost.
Berikut ialah contoh untuk melaksanakan penomboran dalam PHP untuk memaparkan 10 rekod setiap halaman data pelajar daripada pangkalan data.
<!DOCTYPE html> <html> <head> <style> /* Grid styles */ .grid-container { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; margin-bottom: 20px; } .grid-item { background-color: #f2f2f2; padding: 10px; text-align: center; } /* Table styles */ table { border-collapse: collapse; width: 100%; } th, td { padding: 8px; text-align: left; border-bottom: 1px solid #ddd; } th { background-color: #4CAF50; color: white; } /* Pagination styles */ .pagination { display: inline-block; } .pagination a { color: black; float: left; padding: 8px 16px; text-decoration: none; border: 1px solid #ddd; } .pagination a.active { background-color: #4CAF50; color: white; border: 1px solid #4CAF50; } .pagination a:hover:not(.active) { background-color: #ddd; } </style> </head> <body> <?php // Database connection details $servername = "localhost"; $username = "root"; $password = ""; $dbname = "assignments"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Number of records per page $recordsPerPage = 10; // Current page number if (isset($_GET['page'])) { $currentPage = $_GET['page']; } else { $currentPage = 1; } // Calculate the starting record index $startFrom = ($currentPage - 1) * $recordsPerPage; // Fetch student data with pagination $sql = "SELECT * FROM studentdata LIMIT $startFrom, $recordsPerPage"; $result = $conn->query($sql); if ($result->num_rows > 0) { // Display student data echo "<div class='grid-container'>"; echo "<div class='grid-item'><strong>ID</strong>< /div>"; echo "<div class='grid-item'><strong>Name</strong>< /div>"; echo "<div class='grid-item'><strong>Age</strong>< /div>"; while ($row = $result->fetch_assoc()) { echo "<div class='grid-item'>" . $row["id"] . "</div>"; echo "<div class='grid-item'>" . $row["name"] . "</div>"; echo "<div class='grid-item'>" . $row["age"] . "</div>"; } echo "</div>"; } else { echo "No records found."; } // Pagination links $sql = "SELECT COUNT(*) AS total FROM studentdata"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $totalRecords = $row["total"]; $totalPages = ceil($totalRecords / $recordsPerPage); echo "<div class='pagination'>"; if ($totalPages > 1) { for ($i = 1; $i <= $totalPages; $i++) { if ($i == $currentPage) { echo "<a class='active' href='?page=$i'>$i</a> "; } else { echo "<a href='?page=$i'>$i</a> "; } } } echo "</div>"; // Close the connection $conn->close(); ?> </body> </html>
Bahagian pertama kod mewujudkan sambungan pangkalan data menggunakan nama pelayan, nama pengguna, kata laluan dan nama pangkalan data yang disediakan. Ia kemudian menyemak sama ada sambungan berjaya. Seterusnya, ia menetapkan bilangan rekod untuk dipaparkan setiap halaman dan menentukan nombor halaman semasa berdasarkan parameter URL. Ia mengira indeks rekod permulaan menggunakan halaman semasa dan nilai rekod setiap halaman. Kod itu kemudian melaksanakan pertanyaan pangkalan data untuk mengambil data pelajar menggunakan klausa LIMIT untuk mendapatkan hanya rekod yang berkaitan untuk halaman semasa. Ia berulang melalui hasil pertanyaan dan memaparkan data pelajar dalam susun atur grid.
Bahagian kedua kod mengendalikan penomboran. Ia melakukan pertanyaan pangkalan data lain untuk menentukan jumlah bilangan rekod dalam jadual "data pelajar". Ia mengira jumlah halaman dengan membahagikan jumlah rekod dengan rekod setiap nilai halaman dan membulatkan ke atas. Kod itu kemudian menjana pautan penomboran menggunakan gelung. Jika jumlah halaman lebih daripada 1, ia menghasilkan pautan untuk setiap halaman. Halaman semasa diserlahkan dengan kelas "aktif". Akhirnya, sambungan pangkalan data ditutup, dan kod HTML ditutup. Secara keseluruhan, kod ini mendapatkan semula dan memaparkan data pelajar dengan penomboran dan menyediakan pautan navigasi untuk bertukar antara halaman.
Kod PHP menunjukkan pelaksanaan penomboran dalam PHP. Ia menggunakan pangkalan data MySQL untuk mengambil subset data pelajar dan memaparkannya dalam susun atur grid. Kod ini mengira jumlah halaman berdasarkan bilangan rekod setiap halaman dan menjana pautan penomboran dengan sewajarnya. Pengguna boleh menavigasi melalui data dengan mengklik pada pautan halaman. Pelaksanaan ini meningkatkan pengalaman pengguna dengan membahagikan set data yang besar kepada bahagian yang boleh diurus, meningkatkan prestasi dan menghalang UI yang memberangsangkan. Ia mempamerkan langkah asas yang terlibat dalam melaksanakan penomboran, termasuk mewujudkan sambungan pangkalan data, mendapatkan semula data dengan penomboran dan menjana pautan penomboran secara dinamik.
Atas ialah kandungan terperinci Penomboran PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!