Cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan paging
Dalam membangunkan aplikasi web, ia selalunya melibatkan keperluan untuk menanya pangkalan data dan melakukan paparan paging. Sebagai bahasa skrip sebelah pelayan yang biasa digunakan, PHP mempunyai fungsi sambungan pangkalan data yang kuat dan boleh melaksanakan pertanyaan paging dengan mudah. Artikel ini akan memperkenalkan secara terperinci cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan paging, dan melampirkan contoh kod yang sepadan.
Sebelum kita mula, kita perlu menyediakan pangkalan data yang mengandungi data untuk ditanya. Mengambil pangkalan data MySQL sebagai contoh, anggap bahawa kami mempunyai jadual bernama "produk", yang mengandungi maklumat berkaitan produk, termasuk ID produk, nama, harga, dsb.
Pertama, kita perlu mewujudkan sambungan ke pangkalan data. Dalam PHP, anda boleh menggunakan sambungan seperti mysqli atau PDO untuk melaksanakan sambungan pangkalan data. Mengambil mysqli sebagai contoh, contohnya adalah seperti berikut:
<?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "your_database_name"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } ?>
Sila gantikan "localhost", "root", "" dan "nama_data_data_anda" dengan alamat pelayan pangkalan data sebenar, nama pengguna, kata laluan dan nama pangkalan data.
Di bawah ini kami akan mengambil paparan 10 keping data pada setiap halaman sebagai contoh untuk melaksanakan fungsi pertanyaan paging.
<?php $limit = 10; // 每页显示的数量 $page = isset($_GET['page']) ? $_GET['page'] : 1; // 当前页码,默认为1 $start = ($page - 1) * $limit; // 分页查询的起始位置 $sql = "SELECT * FROM products LIMIT $start, $limit"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 输出数据 while($row = $result->fetch_assoc()) { echo "ID: " . $row["id"]. " - 名称: " . $row["name"]. " - 价格: " . $row["price"]. "<br>"; } } else { echo "0 结果"; } $conn->close(); ?>
Dalam kod di atas, mula-mula dapatkan nombor halaman halaman semasa, dan kira kedudukan permulaan pertanyaan paging, kemudian gunakan "SELECT * FROM products LIMIT $start, $limit" untuk melaksanakan pertanyaan paging. Jika hasil pertanyaan tidak kosong, ulangi data output. Akhir sekali tutup sambungan pangkalan data.
Untuk memberikan pengalaman pengguna yang lebih mesra, kami juga boleh melaksanakan fungsi navigasi paging supaya pengguna boleh beralih ke halaman lain dengan mudah.
<?php // 查询总数据量 $sql = "SELECT COUNT(*) AS total FROM products"; $result = $conn->query($sql); $row = $result->fetch_assoc(); $total_records = $row['total']; $total_pages = ceil($total_records / $limit); // 总页数 $prev_page = max(1, $page - 1); // 上一页 $next_page = min($total_pages, $page + 1); // 下一页 echo "<a href='?page=".$prev_page."'>上一页</a> "; for ($i=1; $i<=$total_pages; $i++) { echo "<a href='?page=".$i."'".($i==$page ? " class='current'" : "").">".$i."</a> "; } echo "<a href='?page=".$next_page."'>下一页</a>"; ?>
Dalam kod di atas, mula-mula tanya jumlah volum data dan hitung jumlah halaman. Kemudian jana kod HTML untuk navigasi halaman berdasarkan nombor halaman semasa dan jumlah bilangan halaman. Pengguna boleh mengklik pada nombor halaman yang sepadan untuk beralih ke halaman lain, dan nombor halaman halaman semasa akan dipaparkan dalam gaya yang berbeza.
Ringkasan:
Melalui langkah di atas, kita boleh menggunakan sambungan pangkalan data PHP untuk melaksanakan fungsi pertanyaan paging. Mula-mula wujudkan sambungan pangkalan data, kemudian lakukan pertanyaan paging mengikut keperluan pengguna, dan akhirnya laksanakan navigasi paging untuk memberikan pengalaman pengguna yang lebih mesra. Kaedah ini bukan sahaja terpakai untuk pangkalan data MySQL, tetapi pangkalan data lain yang biasa digunakan, seperti Oracle, SQLite, dll., juga boleh menggunakan sambungan yang sepadan untuk mencapai fungsi yang serupa.
Atas ialah kandungan terperinci Cara menggunakan sambungan pangkalan data PHP untuk melaksanakan pertanyaan paging. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!