Maison  >  Article  >  développement back-end  >  Exemples d'utilisation de PHP pour implémenter la pagination de liste

Exemples d'utilisation de PHP pour implémenter la pagination de liste

PHPz
PHPzoriginal
2023-04-04 14:29:02752parcourir

Avec le développement rapide d'Internet, le nombre de visites de sites Web augmente également. De plus en plus de sites Web utilisent la technologie de pagination pour séparer le contenu, permettant aux utilisateurs de visualiser plus facilement de grandes quantités d'informations. Cet article explique comment utiliser PHP pour implémenter la pagination de liste.

La fonction de pagination de liste divise une série de contenu en plusieurs pages à afficher. Grâce à la fonction de pagination, les utilisateurs peuvent facilement visualiser les informations, réduire le temps de chargement des pages Web et améliorer l'expérience utilisateur.

Tout d'abord, pour implémenter la pagination de liste en PHP, nous avons besoin des étapes suivantes :

1 Obtenez le contenu qui doit être paginé

2 Calculez le nombre total de contenu et le nombre total de pages

3. Selon le numéro de page sélectionné par l'utilisateur, obtenez le contenu de la page correspondante

4 Affichez le contenu

Nous les présenterons un par un ci-dessous.

1. Obtenez le contenu qui doit être paginé

Supposons que nous ayons maintenant une table de données nommée article, qui contient des champs tels que l'identifiant, le titre, le contenu, etc. Nous pouvons utiliser des instructions de requête de base de données pour obtenir des enregistrements d'articles.

//连接数据库
$conn = mysqli_connect("localhost", "root", "123456");
//选取数据库
mysqli_select_db($conn, "test");
//设置字符集
mysqli_query($conn, "SET NAMES UTF8");
//查询数据总数
$sql = "SELECT COUNT(*) FROM article";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
$count = $row[0];

2. Calculez le nombre total de contenu et le nombre total de pages

Après avoir obtenu le nombre total de données, nous devons calculer le nombre total de pages. En supposant que chaque page affiche 10 enregistrements, le nombre total de pages peut être calculé à l'aide du code suivant :

//每页显示的记录数
$pagesize = 10;
//计算总页数
$pagecount = ceil($count/$pagesize);

3 Obtenez le contenu de la page correspondante en fonction du numéro de page sélectionné par l'utilisateur

Ensuite, nous devons nous baser sur sur le numéro de page sélectionné par l'utilisateur, Récupérer le contenu de la page correspondante pour l'afficher. Nous pouvons calculer la position de l'enregistrement de départ en obtenant le numéro de page sélectionné par l'utilisateur, puis obtenir l'enregistrement de la page correspondante dans la base de données :

$pageno = isset($_GET["pageno"]) ? ($_GET["pageno"]) : 1;
$startno = ($pageno - 1) * $pagesize;
//查询当前页的数据
$sql = "SELECT * FROM article LIMIT ".$startno.",".$pagesize;
$result = mysqli_query($conn, $sql);

4 Afficher le contenu

Enfin, nous devons afficher le résultat obtenu. contenu, ici Vous pouvez utiliser l'instruction foreach pour parcourir chaque enregistrement :

//遍历结果
while($row = mysqli_fetch_array($result)){
    echo "<p>".$row['title']."-".$row['content']."</p>";
}

Le code complet d'implémentation de la pagination PHP est le suivant :

";
if ($pageno == 1) {
    echo "首页|上一页|";
} else {
    echo "首页|";
    echo "上一页|";
}
if ($pageno == $pagecount) {
    echo "下一页|尾页";
} else {
    echo "下一页|";
    echo "尾页";
}
echo " 当前为第".$pageno."/".$pagecount."页

"; //关闭数据库连接 mysqli_close($conn); ?>

Ce qui précède sont les étapes détaillées sur la façon d'utiliser PHP pour implémenter la pagination de liste. J'espère que cela aide!

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