Rumah > pangkalan data > tutorial mysql > Amalan pembangunan PHP: Cara menggunakan PHP dan MySQL untuk melaksanakan fungsi halaman

Amalan pembangunan PHP: Cara menggunakan PHP dan MySQL untuk melaksanakan fungsi halaman

WBOY
Lepaskan: 2023-07-02 19:43:40
asal
1461 orang telah melayarinya

Amalan pembangunan PHP: Cara menggunakan PHP dan MySQL untuk melaksanakan fungsi paging

Dalam pembangunan web, fungsi paging adalah fungsi yang sangat biasa dan perlu. Dalam kes jumlah data yang besar, adalah tidak mungkin untuk memaparkan semua data kepada pengguna pada satu masa, jadi pemprosesan halaman biasanya diperlukan untuk membahagikan data kepada beberapa halaman untuk paparan. Artikel ini akan memperkenalkan cara menggunakan PHP dan MySQL untuk melaksanakan fungsi paging.

Pertama, kita perlu membuat pangkalan data dan membuat jadual dalam pangkalan data untuk menyimpan data yang perlu dipaparkan dalam halaman. Katakan kita mempunyai jadual pelajar yang mengandungi id medan, nama dan umur, seperti yang ditunjukkan di bawah:

CREATE TABLE students (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(50),
  age INT
);
Salin selepas log masuk

Seterusnya, kita perlu menulis kod PHP untuk menyambung ke pangkalan data dan mendapatkan data yang perlu dipaparkan. Kita boleh menggunakan sambungan MySQLi PHP untuk operasi pangkalan data. Kod khusus adalah seperti berikut:

<?php
$host = "localhost"; // 数据库主机
$username = "root"; // 数据库用户名
$password = "password"; // 数据库密码
$dbname = "mydb"; // 数据库名

// 创建数据库连接
$conn = new mysqli($host, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
  die("连接失败: " . $conn->connect_error);
}

// 定义每页显示的记录数
$pageSize = 10;

// 获取当前页码
$page = isset($_GET['page']) ? $_GET['page'] : 1;

// 计算查询的起始位置
$start = ($page - 1) * $pageSize;

// 查询需要展示的数据
$sql = "SELECT * FROM students LIMIT {$start}, {$pageSize}";
$result = $conn->query($sql);

// 输出数据
if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "ID: " . $row["id"]. " - 姓名: " . $row["name"]. " - 年龄: " . $row["age"]. "<br>";
  }
} else {
  echo "没有数据";
}

// 计算总页数
$sql = "SELECT COUNT(*) AS total FROM students";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$totalPages = ceil($row['total'] / $pageSize);

// 输出分页链接
for ($i = 1; $i <= $totalPages; $i++) {
  echo "<a href='?page={$i}'>{$i}</a> ";
}

// 关闭数据库连接
$conn->close();
?>
Salin selepas log masuk

Kod di atas mula-mula menyambung ke pangkalan data dan memperoleh nombor halaman semasa dan bilangan rekod yang dipaparkan pada setiap halaman. Kemudian gunakan klausa LIMIT untuk menanyakan data yang perlu dipaparkan berdasarkan kedudukan permulaan pengiraan dan mengeluarkan data ke halaman. Kemudian hitung jumlah halaman dan keluarkan pautan halaman yang sepadan berdasarkan jumlah halaman. Akhir sekali tutup sambungan pangkalan data.

Anda boleh melihat kesan paging dengan melawati http://localhost/page.php. Dengan mengklik pada pautan halaman, anda boleh bertukar ke nombor halaman yang berbeza untuk melihat data yang sepadan.

Ringkasan:

Artikel ini memperkenalkan cara menggunakan PHP dan MySQL untuk melaksanakan fungsi paging. Dengan menyambung ke pangkalan data, dan dengan mengira kedudukan permulaan dan menggunakan klausa LIMIT untuk pertanyaan paging, fungsi paparan paging data direalisasikan. Saya harap artikel ini akan membantu untuk pemula untuk memahami dan menguasai pelaksanaan fungsi paging.

Atas ialah kandungan terperinci Amalan pembangunan PHP: Cara menggunakan PHP dan MySQL untuk melaksanakan fungsi halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan