Maison  >  Article  >  base de données  >  Pratique de développement PHP : comment utiliser PHP et MySQL pour implémenter la fonction de pagination

Pratique de développement PHP : comment utiliser PHP et MySQL pour implémenter la fonction de pagination

WBOY
WBOYoriginal
2023-07-02 19:43:401381parcourir

Pratique de développement PHP : Comment utiliser PHP et MySQL pour implémenter la fonction de pagination

Dans le développement Web, la fonction de pagination est une fonction très courante et nécessaire. Dans le cas de grandes quantités de données, il n'est pas possible d'afficher toutes les données aux utilisateurs en même temps, c'est pourquoi un traitement de pagination est généralement nécessaire pour diviser les données en plusieurs pages à afficher. Cet article explique comment utiliser PHP et MySQL pour implémenter la fonction de pagination.

Tout d'abord, nous devons créer une base de données et créer une table dans la base de données pour stocker les données qui doivent être affichées dans les pages. Supposons que nous ayons une table étudiant contenant les champs identifiant, nom et âge, comme indiqué ci-dessous :

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

Ensuite, nous devons écrire du code PHP pour nous connecter à la base de données et obtenir les données qui doivent être affichées. Nous pouvons utiliser l'extension MySQLi de PHP pour les opérations de base de données. Le code spécifique est le suivant :

<?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();
?>

Le code ci-dessus se connecte d'abord à la base de données et obtient le numéro de page actuelle et le nombre d'enregistrements affichés sur chaque page. Utilisez ensuite la clause LIMIT pour interroger les données qui doivent être affichées en fonction de la position de départ du calcul et afficher les données sur la page. Calculez ensuite le nombre total de pages et affichez les liens de pagination correspondants en fonction du nombre total de pages. Fermez enfin la connexion à la base de données.

Vous pouvez voir l'effet de pagination en visitant http://localhost/page.php. En cliquant sur le lien de pagination, vous pouvez passer à différents numéros de page pour afficher les données correspondantes.

Résumé :

Cet article explique comment utiliser PHP et MySQL pour implémenter la fonction de pagination. En se connectant à la base de données, en calculant la position de départ et en utilisant la clause LIMIT pour les requêtes de pagination, la fonction d'affichage de pagination des données est réalisée. J'espère que cet article sera utile aux débutants pour comprendre et maîtriser la mise en œuvre de la fonction de pagination.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn