Pagination de vos résultats en PHP

page_1

Aujourd’hui un petit bout de code en PHP qui va aider les personnes qui cherchent à paginer leur pages de résultats. Ce script provient du site net.tutsplus.com de nombreuses possibilités sont offertes telles que les classiques boutons suivant précédent, mais aussi choisir le nombre de résultats par pages et se rendre à une page précise.

Quelques exemples sont disponibles ici et ici.

Pour accèder à l’article ainsi que le code rendez vous sur le site de net.tutsplus. com

Pour ceux qui ne sentent pas trop à l’aise avec le PHP voici un script de pagination moins complet mais qui à l’avantage d’etre simple et de fonctionner :

  1. <?PHP
  2.  
  3. $result=mysql_query("SELECT count(id) FROM data WHERE …..");
  4.  
  5. // On créé la fonction de pagination
  6. function pagenav() {
  7.     global $limit,$offset,$numpage;
  8.  
  9.     echo "
  10.     <table cellpadding=0 border=0 cellspacing=5 width=200>
  11.     <tr>
  12.         <td align=center>";
  13.  
  14.         if ($offset>=$limit) {
  15.             $newoff=$offset-$limit;
  16.             echo "<a href =\"nomdevotrepage PHP.php?offset=$newoff\">
  17.                 pr&amp;eacute;c&amp;eacute;dent</a>
  18.                 </td>";
  19.         }
  20.  
  21.         echo " </td>
  22.         <td align=center>";
  23.         if ($offset!=$limit*($numpage-1)) {
  24.             $newoff=$offset+$limit;
  25.  
  26.             echo "<a href=\"nomdevotrepage PHP?offset=$newoff\">
  27.                 suivant</a>
  28.                 </td>";
  29.         }
  30.         echo "</tr>
  31.     </table>";
  32.  
  33. } // Fin de la fonction
  34.  
  35. // limite du nombre de résultats par page
  36.  
  37. $limit=20;
  38. if (!$offset) $offset=0;
  39.  
  40. list($numrec)=mysql_fetch_row($result2);
  41.  
  42. #calc num pages
  43. $numpage=intval($numrec/$limit);
  44.  
  45. if ($numrec%$limit) {
  46.     $numpage++;
  47. }
  48. ?>
  49.  
  50. il y a <?php echo $numrec; ?> r&amp;eacute;sultat(s) // Permet d’afficher le nombre de résultats
  51.  
  52. Affichage du tableau de résultats
  53.  
  54. <?php
  55. if ($numpage>1) {
  56.     pagenav(); // Appel de la fonction pour afficher la pagination
  57. }
  58. ?>

Biensur ce code peut etre adapté et stylisé par des CSS.

N’hésitez pas a contribuer pour apporter vos adaptations et vos remarques sur cet article.


ArtcoreDezign un blog propulse par Wordpress | Pasteke.com 2005-2009