Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan fungsi halaman data

PHP melaksanakan fungsi halaman data

王林
王林asal
2023-06-23 10:55:081056semak imbas

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.

  1. Sambungan pangkalan 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());
}
  1. Dapatkan jumlah bilangan rekod

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]; //获取总记录数
  1. Kira paging

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); //总页数
  1. Dapatkan nombor halaman semasa

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; //默认为第一页
}
  1. Kira kedudukan rekod permulaan

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;
  1. Data pertanyaan

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);
  1. Paparkan bar navigasi paging

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'>&laquo;</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'>&raquo;</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 ""; echo ""; echo ""; echo ""; } ?>
姓名 年龄 性别
" . $row['name'] . "" . $row['age'] . "" . $row['gender'] . "

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn