Maison > développement back-end > tutoriel php > Exemple de php implémentant l'effet de pagination

Exemple de php implémentant l'effet de pagination

黄舟
Libérer: 2023-03-17 10:34:01
original
18132 Les gens l'ont consulté

Je crois que mes amis connaissent la pagination dans notre développement PHP, qu'il s'agisse d'un site Web d'entreprise ou d'un centre commercial. Toute gestion d'arrière-plan est indissociable de la pagination, qui peut être considérée comme un élément indispensable. L'effet de pagination est courant dans les pages Web PHP, mais comment pouvons-nous réaliser la pagination ? Aujourd'hui, nous avons utilisé deux méthodes pour obtenir l'effet de pagination !

Tout d'abord, nous devons préparer un tableau dans la base de données et insérer des données Ce sont tous des prérequis nécessaires. Pas grand chose à dire, comme le montre l'image (le nom de la bibliothèque est). jereh , le nom de la table est n_content) :

Analyse par étapes :

Si nous avons besoin paging , vous devez utiliser "select * from tableName limit num1,num2" ; il s'agit d'une instruction de requête limitée, suivie de deux paramètres, num1 est le numéro à partir duquel commencer la recherche, num2 est le nombre d'informations à rechercher. , Par exemple, je veux trouver trois éléments de données 2, 3 et 4, comme indiqué dans la figure ci-dessous

D'accord, commençons avec les étapes :

1. Créer une fonction pour implémenter la fonction de limitation des requêtes

Tout d'abord, réfléchissons-y Pour implémenter cette fonction, nous devons d'abord connaître le nombre actuel. de pages et combien d'informations nous voulons limiter sur une page. Ceci peut être transmis en utilisant des paramètres formels. Ensuite,

nous définissons pageNum comme étant le nombre de pages et pageSize pour afficher plusieurs éléments de. données sur une page. Dans l'instruction de requête "select * from tableName limit num1,num2",

num1 est (pageNum-1)*pageSize, et num2 est pageSize. Après avoir compris cette relation, ce sera facile. à gérer. Le code est ci-dessous


//分页的函数
function news($pageNum = 1, $pageSize = 3)
{
    $array = array();
    $coon = mysqli_connect("localhost", "root");
    mysqli_select_db($coon, "jereh");
    mysqli_set_charset($coon, "utf8");
    // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度
    $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;
    $r = mysqli_query($coon, $rs);
    while ($obj = mysqli_fetch_object($r)) {
        $array[] = $obj;
    }
    mysqli_close($coon,"jereh");
    return $array;
}
Copier après la connexion

Dans le code ci-dessus, il convient de noter qu'un espace doit être ajouté après la limite, sinon une erreur se produira <; 🎜>

2. Créez une deuxième fonction pour afficher le nombre total de pages

Il n'y a pas de nouveaux points de connaissance là-dedans, ce sont tous des points de connaissance écrits auparavant, il suffit de regarder le code


//显示总页数的函数
function allNews()
{
    $coon = mysqli_connect("localhost", "root");
    mysqli_select_db($coon, "jereh");
    mysqli_set_charset($coon, "utf8");
    $rs = "select count(*) num from n_content"; //可以显示出总页数
    $r = mysqli_query($coon, $rs);
    $obj = mysqli_fetch_object($r);
    mysqli_close($coon,"jereh");
    return $obj->num;
}
Copier après la connexion
3. Appelez ces deux fonctions pour un traitement préliminaire

Nous voulons obtenir les résultats de la page suivante et de la page suivante, nous devons utiliser le get. méthode pour transférer des données sur cette page. Ensuite, lorsque nous actualisons la page, get n'obtiendra certainement pas les données, nous avons donc besoin que l'arithmétique trinoculaire soit utilisée, regardez le code


 <?php
    @$allNum = allNews();
    @$pageSize = 3; //约定每页显示的信息条数
    @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
    @$endPage = ceil($allNum/$pageSize); //总页数
    @$array = news($pageNum,$pageSize);
    ?>
Copier après la connexion
4. Affichage sur la page

Si affiché sur la page, vous devez utiliser une boucle foreach , le code est simple, voir ci-dessous


<table border="1" style="text-align: center" cellpadding="0">
    <tr>
        <td>编号</td>
        <td>新闻标题</td>
        <td>来源</td>
        <td>点击率</td>
        <td>发布日期</td>
    </tr>
    <?php
    foreach($array as $key=>$values){
        echo "<tr>";
        echo "<td>{$values->id}</td>";
        echo "<td>{$values->title}</td>";
        echo "<td>{$values->src}</td>";
        echo "<td>{$values->indexs}</td>";
        echo "<td>{$values->times}</td>";
        echo "</tr>";
    }
    ?>
</table>
Copier après la connexion
5. Pour obtenir l'effet de page précédente et de page suivante

Pour obtenir l'effet de saut de page, nous devons utiliser l'attribut href de la balise a, et l'adresse est "?pageNum = ... " Ce pageNum est défini par nous-mêmes. Puisqu'il est passé par get, à l'étape précédente nous avons utilisé $_GET pour accepter les paramètres, nous n'avons donc qu'à transmettre les paramètres get ;

Page d'accueil : "pageNum=1";

Page précédente : "pageNum="

Page suivante :" pageNum="

Dernière page : "pageNum= ";

Une attention particulière doit être portée au fait qu'il ne doit y avoir aucun espace après "pageNum=". Le code est le suivant


 <a href="?pageNum=1">首页</a>
    <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a>
    <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a>
    <a href="?pageNum=<?php echo $endPage?>">尾页</a>
Copier après la connexion

Le code total est le suivant :





    
    分页
   


<table border="1" style="text-align: center" cellpadding="0">
    <tr>
        <td>编号</td>
        <td>新闻标题</td>
        <td>来源</td>
        <td>点击率</td>
        <td>发布日期</td>
    </tr>
    <?php
    foreach($array as $key=>$values){
        echo "<tr>";
        echo "<td>{$values->id}</td>";
        echo "<td>{$values->title}</td>";
        echo "<td>{$values->src}</td>";
        echo "<td>{$values->indexs}</td>";
        echo "<td>{$values->times}</td>";
        echo "</tr>";
    }
    ?>
</table>

<a href="?pageNum=1">首页</a> <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a> <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a> <a href="?pageNum=<?php echo $endPage?>">尾页</a>

Copier après la connexion
L'effet est le suivant :

Résumé :

L'effet de pagination doit avoir des données à afficher. Par conséquent, nous devons effectuer certaines opérations de base de données. données dans la base de données, donc tout le monde doit opérer avec précaution !

Recommandations associées :

Exemples de principes de pagination en php

Comment implémenter la fonction de pagination de la table d'arrière-plan PHP

Comment écrire le code de pagination PHP

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal