Maison > Article > développement back-end > Comment implémenter l'affichage de la pagination en php
Au fur et à mesure que le contenu du site Internet continue de croître, il devient progressivement nécessaire de l'afficher en pages. Lorsque vous utilisez PHP pour développer un site Web, la mise en œuvre de l'affichage de la pagination est devenue une compétence de base. Cet article explique comment implémenter l'affichage de la pagination en PHP.
1. Le concept de l'affichage de pagination
L'affichage de pagination consiste à diviser un résultat de données volumineux en plusieurs pages pour l'affichage. Par exemple, affichage des résultats de recherche, affichage des produits, etc. L'affichage de la pagination est généralement divisé en deux méthodes : la pagination frontale et la pagination back-end.
Pagination frontale : la pagination frontale fait référence au découpage de l'intégralité des données côté client et à la réalisation de l'objectif de pagination des données via des blocs d'effets d'affichage JavaScript. Cette approche extrait généralement toutes les données d'un coup (renvoyées au format JSON ou XML) et les affiche via JavaScript.
Paging back-end : la pagination back-end fait référence aux données de pagination côté serveur, renvoyant uniquement les données de la page actuelle, pas toutes les données. Cette méthode détermine généralement le numéro de page actuel en fonction des paramètres transmis, puis utilise les paramètres de requête SQL pour récupérer uniquement les données actuellement requises pour l'affichage. La plus couramment utilisée est l'instruction Limit fournie dans MySQL, qui peut facilement implémenter la fonction de pagination, nous permettant d'effectuer facilement la pagination des données en PHP.
2. Utilisez PHP et MySQL pour implémenter la pagination
Présentons en détail comment utiliser PHP et MySQL pour implémenter la fonction de pagination.
Avant de commencer, nous devons nous connecter à la base de données MySQL. Vous pouvez utiliser PDO ou mysqli pour vous connecter à la base de données.
//连接到MySQL数据库 $host = "localhost"; $user = "username"; $password = "password"; $database = "database"; $connect = mysqli_connect($host, $user, $password, $database);
?>
Afin d'implémenter la pagination, nous devons d'abord obtenir le nombre total d'enregistrements dans les résultats de la requête pour la pagination. Nous pouvons obtenir le nombre total d'enregistrements via des instructions SQL.
// 获取记录总数 $sql = "SELECT COUNT(*) FROM table_name"; $result = mysqli_query($connect, $sql); $row = mysqli_fetch_row($result); $total = $row[0];
?>
Avant l'affichage de la pagination, nous devons spécifier le nombre d'enregistrements affichés sur chaque page. Généralement, 10 ou 20 enregistrements sont affichés par page, mais nous pouvons ajuster cela si nécessaire.
//设定每页显示的记录数 $per_page = 10;
?>
Après avoir obtenu le nombre total d'enregistrements et le nombre d'enregistrements affichés sur chaque page, nous pouvons calculer le nombre de pages qu'il y a dans total.
// 计算总页数 $total_pages = ceil($total / $per_page);
?>
Les utilisateurs peuvent accéder à la page souhaitée en saisissant le numéro de page. Par conséquent, nous devons d’abord obtenir le numéro de page actuel (s’il n’est pas spécifié, il s’agit par défaut de la page 1).
// 获取当前页码 if (isset($_GET['page'])) { $page = $_GET['page']; } else { $page = 1; }
?>
Avant d'exécuter la requête, nous devons calculer à partir de quel enregistrement la page commencera. Pour la première page, nous partons du premier enregistrement ; pour les autres pages, nous devons calculer la position de l'enregistrement de départ de la page en passant par le numéro de page actuel.
// 计算起始记录位置 $start = ($page - 1) * $per_page;
?>
Après avoir obtenu la position d'enregistrement de départ, nous pouvons exécuter la requête et afficher les résultats dans un document HTML. L'instruction Limit dans MySQL est utilisée ici.
// 查询数据并显示 $sql = "SELECT * FROM table_name LIMIT $start, $per_page"; $result = mysqli_query($connect, $sql); while ($row = mysqli_fetch_assoc($result)) { echo $row['column_name']; }
?>
La dernière étape consiste à créer une navigation paginée afin que les utilisateurs puissent accéder rapidement à la page souhaitée. La navigation par pagination courante comprend des liens numériques et des liens « page précédente » et « page suivante ». Nous pouvons choisir la navigation par page appropriée en fonction de nos besoins.
// 分页链接 if ($total_pages > 1) { echo ''; if ($page > 1) { echo '上一页'; } for ($i = 1; $i <= $total_pages; $i++) { if ($i == $page) { echo ''.$i.''; } else { echo ''.$i.''; } } if ($page < $total_pages) { echo '下一页'; } echo ''; }?>
Ce qui précède est une version abrégée de la pagination utilisant PHP et MySQL.
3. Problèmes possibles avec la pagination
Vous pouvez rencontrer les problèmes suivants lors de la mise en œuvre de la pagination :
- Différentes méthodes pour obtenir le nombre total d'enregistrements : La méthode couramment utilisée pour obtenir le nombre total d'enregistrements dans MySQL consiste à utiliser le Instruction COUNT. Dans certains cas, elle peut ne pas être assez précise.
- Le processus de requête est lent : si la quantité de données est très importante, la requête de pagination peut ralentir le processus de requête. Dans ce cas, des méthodes telles que la mise en cache ou le partage de données peuvent être utilisées pour optimiser l'efficacité des requêtes.
- Vulnérabilité d'injection SQL : si le numéro de page ou d'autres paramètres saisis par l'utilisateur ne sont pas filtrés, cela peut conduire à une vulnérabilité d'injection SQL, et le filtrage et la vérification des données doivent être effectués dans le code.
IV.Résumé
Grâce à l'introduction ci-dessus, nous pouvons clairement comprendre comment implémenter la pagination en PHP. Nous pouvons également voir que la méthode d'implémentation de la pagination changera en fonction de la base de données utilisée et du scénario réel, mais le processus général. C'est la même chose. Les étudiants peuvent y réfléchir eux-mêmes et utiliser différentes méthodes pour améliorer notre expérience et notre efficacité en matière d'opération de radiomessagerie afin d'obtenir une meilleure expérience utilisateur.
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!