"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment limiter les liens de pagination en PHP avec un algorithme de pagination intelligent ?

Comment limiter les liens de pagination en PHP avec un algorithme de pagination intelligent ?

Publié le 2024-11-08
Parcourir:773

How to Limit Pagination Links in PHP with a Smart Pagination Algorithm?

Algorithme de pagination intelligent

Lors de la mise en œuvre de la pagination, il est souvent souhaitable de limiter le nombre de liens de page affichés pour éviter de surcharger l'utilisateur. Ceci peut être réalisé en utilisant un algorithme de pagination « intelligent » qui n'affiche que quelques pages adjacentes à la page actuelle.

Exemple d'algorithme

Le code PHP suivant démontre un algorithme de pagination intelligent qui tronque le liste de pages pour afficher seulement deux pages adjacentes à la page actuelle :

query("SELECT * FROM mytable LIMIT $start, $limit")
    ->fetchAll();

// Calculate total number of pages
$total_pages = count($data);

// Setup page variables
$prev = $page - 1;
$next = $page   1;
$lastpage = ceil($total_pages / $limit);
$lpm1 = $lastpage - 1;

// Generate pagination markup
$pagination = "";

if ($lastpage 

Cet algorithme utilise la variable adjacentes pour contrôler le nombre de pages adjacentes affichées de chaque côté de la page actuelle. Il comprend également les fonctionnalités suivantes :

  • Ellipses : S'il y a plus de pages que ce qui peut être affiché, il utilise des points de suspension pour tronquer la liste des pages.
  • Première et dernière pages : Affiche toujours la première et la dernière page, quelle que soit la page actuelle.
  • Désactivé boutons : Il désactive les boutons précédent et suivant lorsque la page actuelle est respectivement la première ou la dernière page.
  • Classe active : Il ajoute la classe "active" à la classe actuelle lien de la page.
Déclaration de sortie Cet article est réimprimé à l'adresse : 1729152507. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3