Pagination PHP

WBOY
Libérer: 2024-02-28 09:14:01
avant
901 Les gens l'ont consulté

La pagination PHP joue un rôle important dans le développement de sites Web, en aidant le contenu des pages Web à être affiché dans les pages et en améliorant l'expérience utilisateur. L'éditeur PHP Xigua présentera comment utiliser PHP pour implémenter la fonction de pagination, rendant le site Web plus facile à parcourir et à gérer. En étudiant cet article, les lecteurs peuvent facilement maîtriser les principes et les méthodes de mise en œuvre de la pagination PHP, et ajouter de nouvelles compétences et inspirations au développement de sites Web.

Nous démontrerons également une autre façon d'ajouter les fonctionnalités de navigationPreviousetSuivantdans la pagination PHP. Cette méthode ajoute uniquement la fonctionnalité supplémentaire de navigation dans la page correspondante à la première méthode.PreviousNext导航功能的方法。此方法仅添加了将相应页面导航到第一种方法的附加功能。


在 PHP 中在SQL中使用LIMIT子句和SELECT语句对行进行分页

我们可以使用LIMIT子句和SELECT语句来指定要在页面上显示的前 n 个结果。我们可以在anchor标签中提供页码作为GET方法来浏览页面。在此方法中,我们定义每页要显示的行数,并从数据库中检索所有行以计算所需的总页数。我们可以使用$_GET数组isset()函数来获取用户请求的页码。

例如,创建一个变量$results_per_page并在其中存储2。使用Mysqli_num_rows()函数查找数据库中的行数并存储在$number_of_results变量中。使用ceil()函数来确定显示行所需的总页数。将$number_of_results变量除以ceil()函数内的$results_per_page变量。使用$_GET超全局变量和isset()函数来检查page变量是否已设置。如果尚未设置,请将$page变量设置为1。如果已设置变量,则将值分配给$page变量。用1减去$page变量并将其乘以$this_page_first_result变量。将操作存储在变量$this_page_first_result中。编写一个带有LIMIT子句的SQL语句为SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page.运行查询并显示结果。最后,创建一个for循环以在$page变量和$number_of_page之间循环。在循环内,echoanchor标签并将href属性的值设置为index.php?page'.$page。在anchor标签之间写入$page变量。

在下面的示例中,数据库中的alpha表包含六行。执行分页后,每页显示两行。ceil()函数确定显示行所需的总页数。最初,$page变量未设置,因此页面从第 1 页开始。$this_page_first_result变量确定用户当前所在的页码。变量$this_page_first_result表示页面的第一行。变量$results_per_page表示每页的结果数。输出部分显示index.php页面。当点击页面2时,它会从数据库中输出接下来的两行。

示例代码:

#php 7.x php $number_of_pages = ceil($number_of_results/$results_per_page); if (!isset($_GET['page'])) { $page = 1; } else { $page = $_GET['page']; } $this_page_first_result = ($page-1)*$results_per_page; $sql='SELECT * FROM alpha LIMIT ' . $this_page_first_result . ',' . $results_per_page; $result = mysqli_query($con, $sql); while($row = mysqli_fetch_array($result)) { echo $row['id'] . ' ' . $row['value']. '
'
;
} for ($page=1;$page<=$number_of_pages;$page++) { echo '. $page . '">' . $page . ' ';
} ?>
Copier après la connexion

输出:

1 A 2 B 1 2 3 
Copier après la connexion

在 PHP 的分页中添加PreviousNext导航功能

我们可以在第一种方法的代码示例中添加一些额外的代码片段,以在分页中提供PreviousNext导航功能。我们可以将$page变量递增和递减 1 以指向上一页和下一页。我们可以使用anchor标签中的递增和递减变量来实现NextPrevious功能。

例如,创建两个变量,$prev$next。用 1 减去$page变量并将操作分配给$prev变量。类似地,将 1 添加到$page变量并将其分配给$next变量。在页码的for循环之前回显一个anchor标签,上面写着Previous。将anchor标签的href属性赋值为index.php?page=' . $prev .。以同样的方式,使用$next变量作为href属性中page的值,为Next创建另一个anchor标记。

在下面的输出部分,它显示了第二页。单击Previous进入第一页,单击Next


En PHP dansSQLPagination des lignes en utilisantLIMIT Clauseet instructionSELECT

Nous pouvons utiliser la clause LIMITet l'instruction SELECTpour spécifier les n premiers résultats à être affiché sur la page. Nous pouvons parcourir la page en fournissant le numéro de page dans la balise anchorcomme méthode GET. Dans cette méthode, nous définissons le nombre de lignes à afficher par page et récupérons toutes les lignes de la base de donnéespour calculer le nombre total de pages requises. Nous pouvons utiliser les fonctions $_GET arrayet isset()pour obtenir le numéro de page demandé par l'utilisateur.

Par exemple, créez une variable $results_per_pageet stockez-y 2. Utilisez la fonction Mysqli_num_rows()pour trouver le nombre de lignes dans la base de donnéeset stockez-le dans la variable $ number_of_results. Utilisez la fonction ceil()pour déterminer le nombre total de pages requises pour afficher les lignes. Divisez la variable $number_of_resultspar la variable $results_per_pageà l'intérieur de la fonction ceil(). Utilisez la variable superglobale $_GETet la fonction isset()pour vérifier si la variable pageest définie. Si ce n'est pas déjà fait, définissez la variable $pagesur 1. Si la variable est définie, la valeur est affectée à la variable $page. Soustrayez la variable $pagede 1et multipliez-la par la variable $this_page_first_result. Stockez l'opération dans la variable $this_page_first_result. Écrivez une instruction SQLavec une clause LIMITsous la forme SELECT * FROM alpha LIMIT ' ' $this_page_first_result ',' .Exécutez la requête. afficher les résultats. Enfin, créez une boucle forpour faire une boucle entre la variable $pageet $number_of_page. Dans la boucle, ajoutez la balise echo anchoret définissez la valeur de l'attribut hrefsur index.php?page'.$page. Écrivez la variable $pageentre les balises anchor.

Dans l'exemple ci-dessous, la table alphade la base de données contient six lignes. Après avoir effectué la pagination, deux lignes sont affichées par page. La fonction ceil()détermine le nombre total de pages nécessaires pour afficher une ligne. Initialement, la variable $pagen'est pas définie, donc la page commence à la page 1. La variable $this_page_first_resultdétermine le numéro de page sur lequel se trouve actuellement l'utilisateur. La variable $this_page_first_resultreprésente la première ligne de la page. La variable $results_per_pagereprésente le nombre de résultats par page. La section de sortie affiche la page index.php. Lorsque l'on clique sur la page 2, les deux lignes suivantes de la base de données sont affichées. Exemple de code :
# php 7.x php $prev = $page -1; $next = $page +1; echo ' . $prev . '"> Previous  '; for ($page=1;$page<=$number_of_pages;$page++) { echo '. $page . '">' . $page . ' '; } echo ' . $next . '"> Next  '; ?> 
Copier après la connexion
Sortie :
3 C 4 D Previous 1 2 3 Next 
Copier après la connexion

Nous pouvons ajouter quelques extraits de code supplémentaires à l'exemple de code de la première méthode pour fournir Précédentdans la pagination > et Suivantfonctions de navigation. Nous pouvons incrémenter et décrémenter la variable $pagede 1 pour pointer vers les pages précédentes et suivantes. Nous pouvons utiliser des variables d'incrémentation et de décrémentation dans la balise anchorpour implémenter les fonctions Suivantet Précédent. Par exemple, créez deux variables, $prevet $next. Soustrayez la variable $pagede 1 et affectez l'opération à la variable $prev. De même, ajoutez 1 à la variable $pageet affectez-la à la variable $next. Fait écho à une balise anchorqui dit Précédentavant la boucle fordu numéro de page. Attribuez l'attribut hrefde la balise anchorà index.php?page=' $prev .. De la même manière, créez-en un autre pour Suivanten utilisant la variable $nextcomme valeur de pagedans le hrefattribut la balise anchor. Dans la section de sortie ci-dessous, la deuxième page est affichée. Cliquez sur Précédentpour accéder à la première page, cliquez sur Suivantpour accéder à la troisième page. Exemple de code : rrreee Sortie : rrreee

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:lsjlt.com
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!