Apprends gratuitement à créer ton site !!



Les kit graphiques ont été téléchargés 22 fois.  -   RSS   Derniers flux : Nouveau kit graphique - Référencez votre site et faites vous connaitre - Script : Afficher la date et l'heure en temps réel - Script : Générateur de mot de passe - Script : Téléchargez un formulaire de contact tout fait

Paginer un ensemble de pages grâce à PHP

Comment paginer une page

Tout d'abord, quesque la pagination ?
Elle vous permet de faire défiler plusieurs pages grâce à des liens les reliants les une aux autres.
De cette façon :
« 1 2 3 4 5 »

Pour que ce script marche, les url devront être renseignées sans l'adresse du site, c'est à dire que si vous voulez paginer une page située à cette URL :
http://monsite.fr/dossier/page.php
Vous devrez faire apparaitre le lien :
/dossier/page.php
Dans la page navigation.php qui suit !

» Attention à ne pas oublier le slash / avant l'adresse !

Maintenant, le code :
Dans une page nommée navigation.php, insérez ce code, vous permettant de gérer vos pages, les titres ...

  1. <html>
  2. <head>
  3. <title> Test pagination </title>
  4.  
  5. <style type="text/css">
  6. .mini_maxi {
  7.         padding: 0 2px 0 2px;
  8.         color:#000000;
  9. }
  10.  
  11. a.mini_maxi {
  12.         color:#0066CC;
  13.         text-decoration:none;
  14. }
  15.  
  16.         a.mini_maxi:hover {
  17.                 color:#000000;
  18.         }
  19.  
  20. a.page {
  21.         padding: 0 6px 0 6px;
  22.         background-color:#FFFFFF;
  23.         color:#0066CC;
  24.         text-decoration:none;
  25. }
  26.  
  27.         a.page:hover {
  28.                 color:#000000;
  29.         }
  30.  
  31. .page_actuelle {
  32.         padding: 0 6px 0 6px;
  33.         text-decoration:none;
  34.         color:#000000;
  35.         font-weight:bold;
  36. }
  37. </style>
  38.  
  39. </head>
  40. <body>
  41.  
  42. <?php
  43. // -------------------------------------- //
  44. // Script créé par http://cust.er.free.fr //
  45. // -------------------------------------- //
  46.  
  47. // Ci dessous, toutes les pages que vous voulez ' paginer ' par ordre d'apparition !
  48. // N'y mettez pas un lien dur mais juste le lien à partir de la source sans l'inclure.
  49. $liens = array (
  50. "", // Laissez vide pour commencer à la page 1
  51. "/dossier/page1.php",
  52. "/dossier/page2.php",
  53. "/dossier/page3.php",
  54. );
  55.  
  56. $titre = array (
  57. "", // Aussi à laisser vide pour le titre de la page 0 ( qui ne sera pas affichée )
  58. "Titre page 1",
  59. "Titre page 2",
  60. "Titre page 3"
  61. );
  62.  
  63. // Cherche la place de l'adresse actuelle
  64. $i = array_search($self, $liens);
  65.  
  66. // Cherche la place du dernier lien
  67. $maxi = count($liens)-1;
  68.  
  69. // Nomme le premier lien
  70. $mini = 0;
  71.  
  72. if ( $i != 1 ) // On prend notre minimum ( la valeur 1 de l'array )
  73.  {
  74.         // Affichage du lien ' page précédente '
  75.         echo '<a href="http://'.$_SERVER['HTTP_HOST'].''.$liens[$i-1].'" title="'.$titre[$i-1].'" class="mini_maxi">&lt;</a>&nbsp;';
  76.  }
  77. else
  78.  {
  79.         // Affichage du symbole ' page précédente ' si on est à la page mini
  80.         echo '<span class="mini_maxi">&lt;</span>';
  81.  }
  82.  
  83. // Le minimum est égal à 1 .. pour éviter d'avoir la page ' 0 ' affichée dans la pagination
  84. $ii=1;
  85.  
  86. $separation = false;
  87.  
  88. while ( $mini < $maxi )
  89. {
  90.  
  91. // Cherche la page correspondant au numéro
  92. $lien_pages = $liens[$ii];
  93.  
  94. if ( $i == $ii )
  95.  {
  96.         // Page actuelle
  97.         if ( $separation == true ) { echo '|'; }
  98.         echo '&nbsp;<span class="page_actuelle">'.$ii.'</span>&nbsp;';
  99.  }
  100. else
  101.  {
  102.         if ( $separation == true ) { echo '|'; }
  103.         // Toutes les pages
  104.         echo '&nbsp;<a href="http://'.$_SERVER['HTTP_HOST'].''.$lien_pages.'" title="'.$titre[$ii].'" class="page">'.$ii.'</a>&nbsp;';
  105.  }
  106.  
  107. // Incrémentation de va variable $mini
  108. $mini++;
  109.  
  110.  // Incrémentation de la variable $ii ( numéro des pages )
  111.  $ii++;
  112.  
  113.  // Activation ou continuation de l'affichage des séparations ' | '
  114.  $separation = true;
  115. }
  116.  
  117. if ( $i != $maxi )
  118.  {
  119.         // Affichage du lien ' page suivante '
  120.         echo '&nbsp;<a href="http://'.$_SERVER['HTTP_HOST'].''.$liens[$i+1].'" title="'.$titre[$i+1].'" class="mini_maxi">&gt;</a>';
  121.  }
  122. else
  123.  {
  124.         // Affichage du symbole ' page suivante ' si on est à la page maxi
  125.         echo '<span class="mini_maxi">&gt;</span>';
  126.  }
  127. ?>
  128.  
  129. </body>
  130. </html>

Dans vos pages ( en extension .php ), insérez ce code ( à l'endroit où vous voulez faire apparaitre la pagination .. biensur ^^ )

  1. <?php
  2. $self = $_SERVER['PHP_SELF'];
  3.  
  4. include("navigation.php");
  5. ?>
» Exemple

Et voila, vos pages possédants cette include seront paginées !
N'oubliez pas de rentrer toutes les url où vous faites apparaitre la pagination dans la page navigation.php, sinon, le script ne marchera évidement pas !

« Script
Kit Graphique Cust.er Production | © 2oo7 - 2oo9 Créer un site ι Accueil ι Flux rss ι Sitemap ι Plan du site ι Contact ι Haut