PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas dalam pembangunan web. Apabila kami memproses sejumlah besar data dalam pangkalan data, kami biasanya perlu menggunakan teknologi halaman data untuk membahagikan data kepada halaman yang boleh dipaparkan untuk menjimatkan sumber pelayan dan meningkatkan kecekapan akses pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi halaman data.
Pertama, kita perlu menyambung ke pangkalan data, yang dicapai melalui kod berikut:
$servername = "localhost"; //数据库主机名 $username = "root"; //数据库用户名 $password = ""; //数据库密码 $dbname = "myDB"; //数据库名称 // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检测连接是否成功 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); }
Seterusnya, kita perlu mendapatkan jumlah bilangan rekod dalam pangkalan data untuk paging. Ini boleh dicapai melalui kod berikut:
$sql = "SELECT COUNT(*) FROM myTable"; //myTable为数据表名 $result = mysqli_query($conn, $sql); $row = mysqli_fetch_array($result); $total_records = $row[0]; //获取总记录数
Dengan jumlah bilangan rekod, kita boleh mengira bilangan halaman yang perlu dibahagikan dan rekod yang dipaparkan pada setiap nombor halaman. Sebagai contoh, jika setiap halaman memaparkan 10 keping data dan terdapat 100 keping data kesemuanya, maka kita perlu membahagikannya kepada 10 halaman. Ini boleh dicapai melalui kod berikut:
$records_per_page = 10; //每页记录数 $total_pages = ceil($total_records / $records_per_page); //总页数
Apabila halaman, anda perlu mendapatkan nombor halaman semasa untuk menentukan julat data yang perlu dipaparkan. Nombor halaman semasa boleh diperolehi melalui kod berikut:
if (isset($_GET['page'])) { $current_page = $_GET['page']; } else { $current_page = 1; //默认为第一页 }
Dengan nombor halaman semasa dan bilangan rekod setiap halaman, kami boleh mengira pertanyaan permulaan Lokasi direkodkan. Contohnya, jika anda ingin menanyakan data pada halaman 3 dan memaparkan 10 keping data pada setiap halaman, maka kedudukan rekod permulaan ialah:
$starting_position = ($current_page - 1) * $records_per_page;
Kira permulaan Selepas merekodkan lokasi, kita perlu menanyakan pangkalan data dan mendapatkan data untuk dipaparkan. Ini boleh dicapai melalui kod berikut:
$sql = "SELECT * FROM myTable LIMIT $starting_position, $records_per_page"; $result = mysqli_query($conn, $sql);
Akhir sekali, paparkan bar navigasi paging di bahagian bawah halaman. Ini boleh dicapai melalui kod berikut:
echo "<ul class='pagination'>"; if ($current_page > 1) { $prev_page = $current_page - 1; echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$prev_page'>«</a></li>"; } for ($i = 1; $i <= $total_pages; $i++) { if ($i == $current_page) { echo "<li class='active'><a href='#'>$i</a></li>"; } else { echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$i'>$i</a></li>"; } } if ($current_page < $total_pages) { $next_page = $current_page + 1; echo "<li><a href='{$_SERVER['PHP_SELF']}?page=$next_page'>»</a></li>"; } echo "</ul>";
Kod di atas menggunakan gaya rangka kerja Bootstrap dan boleh melaraskan gaya dan reka letak dengan sendirinya.
Kod lengkap adalah seperti berikut:
PHP数据分页
"; echo " 姓名 年龄 性别 " . $row['name'] . " "; echo "" . $row['age'] . " "; echo "" . $row['gender'] . " "; echo ""; } ?>
Perlu diambil perhatian bahawa dalam aplikasi sebenar, kita perlu melakukan pengesahan keselamatan pada setiap langkah kod untuk mengelakkan serangan berniat jahat seperti suntikan SQL.
Atas ialah kandungan terperinci PHP melaksanakan fungsi halaman data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!