Petit Kiwi : web, high-tech & cie

PHP : création d’une pagination avancée

Dans ce tuto, je vais vous montrer comment créer une pagination avancée en PHP. Parmi toutes les paginations que j’ai pu rencontrer, c’est celle que je trouve la plus ergonomique car elle donne des informations essentielles pour une pagination (nombre total de pages, page courante), permet de changer de pages rapidement (accès directs aux pages de départ, d’arrivée et connexes, boutons précédent/suivant), mais aussi une des plus agréables d’un point de vue esthétique car elle occupe toujours la même place.

La pagination que je vous propose s’incruste facilement dans votre site web puisqu’elle fait appel à une fonction unique pour l’affichage. Le nombre d’items par page est paramétrable, ainsi que la variable d’URL utilisée pour stocker le numéro de la page courante. Contrairement à certaines paginations qui tirent tout le contenu d’une table avant de filtrer à l’affichage, seules les entrées concernées sont récupérées depuis la base de données. Cela évite les problèmes de débordement mémoire pour des tables immenses par exemple.

En pratique, ça donne ça…

Maintenant on peut mettre la main dans le cambouis…

La pagination utilise trois fichiers :

  • index.php (c’est la page qui affiche l’ensemble des entrées et qui fait appel à la fonction de pagination)
  • paginate.php (contient la fonction de pagination)
  • style.css (les CSS ppour la mise en forme de la pagination)

index.php

Ce fichier est la partie visible de l’iceberg. Il permet d’afficher les entrées récupérées depuis la base de données, et fait appel à la fonction de pagination. Dans cet exemple, la table s’appelle pagination, et les données sont issues de la colonne p_text.

paginate.php

Ce fichier contient uniquement la définition la fonction de pagination.

style.css

Enfin, on ajoute un peu de style à la pagination pour la rendre visuellement plus agréable.