Notice: Undefined index: ck2 in /home/piregwan/public_html/piregwan.com/maj_compteurs_tutorials.php on line 6

Notice: Undefined index: ck2 in /home/piregwan/public_html/piregwan.com/maj_compteurs_tutorials.php on line 8
 

edito
forum (21 147)
making of
preview newsletter
photoshop shortcuts
plan du site
bétisier (24)
nouveautés (67)
mises à jour
bannières (92)
liste de diffusion
infos légales
 


 

Devenez awares ! Et essayez de survivre.




aperçu
 

 

login | logout
gérez votre profil
devenez membre
membres (2183)
anniversaires (796)
awares (349)
mickeys (343)
notables (83)
modérateurs (9)
votre vie privée

 

 

amis (22)
gfx français (58)
gfx autres (383)
pixel art (67)
ascii art (0)
paint/draw (97)
communautés (27)
portails gfx (16)
ressources (36)
flash (253)
3D (38)
java (2)

proposez votre site
dernières entrées
aléatoire (999)
quicklist
top 10










































999 sites
1 173 459 hits
 
 

à propos des tutos
tous les tutos (48)
rechercher un tuto

tutos aléatoires
810 613 hits

 

 

screen fonts
brushes
softwares
 
 
 

 

stats publiques
infocentres
référents (31914)
refs quicklist (31914)
visiteurs uniques
awards

24 145 253 hits
 




our écrire 50 lignes de texte là où il y a tout juste de la place pour 8, vous avez trois solutions : écrire très petit ou implémenter un multipage. La troisième solution est un scroll layer, sujet que nous éviterons éhontément dans ce tuto. Le multipage vous permet d'afficher des informations par page, il permet généralement d'aller directement aux 5 ou 10 premières pages, de revenir à la précécente et d'aller à la suivante. Il se présente généralement sous cette forme :

( 69 commentaires )
prev 1 2 3 4 5 next

Celui que nous allons monter est en cela interactif ques les liens sur les pages non consultables ne sont pas cliquables : par exemple s'il n'y a que 3 pages, les pages 4 et 5 ne sont pas cliquables. Si vous êtes sur la première page, le lien PREV n'est pas cliquable, etc.


 

Pour rendre opérationnel votre multipage, vous avez besoin essentiellement de deux données :

  • le nombre total d'enregistrements à afficher.
  • le nombre d'enregistrements par page.


  • Supposons que vous vouliez afficher des commentaires dans une borne. Vous disposez d'une table COMMENTAIRES. Le script suivant initialise ces deux variables plus d'autres utiles par la suite, il se place juste avant le multipage :

    <?
       include ("../connexion_a_la_base.php"); // CONNEXION MYSQL
       $link = @mysql_connect ($host,$user,$password); // INITIALISATION DE LA CONNEXION
       mysql_select_db($bdd, $link);

       $req="select * from commentaires";
       $res=mysql_query($req, $link);
       $nombre_commentaires=@mysql_numrows($res);
       $nombre_par_page=5;
       $nombre_de_pages=intval(($nombre_commentaires-1)/$nombre_par_page)+1;
       if ($position=="") $position=0;
       $page_courante=intval(($position/$nombre_commentaires)*$nombre_de_pages)+1;
    ?>


     

    Dans notre exemple, le fonctionnement du multipage est le suivant : nous allons afficher les commentaires par page de 5. Un seul paramètre est transmis à la page pour afficher les commentaires désirés : la variable $position qui précise à partir de quel enregistrement on doit afficher les 5 suivants, le premier de la page courante en somme : LIMIT $position,$nombre_par_page.

    Le script d'affichage du multipage, placé juste après celui d'initialisation des variables ressemble à ça :

    <?
       // AFFICHAGE DU NOMBRE DE COMMENTAIRES
       print ("<center>");
       print ("( $nombre_commentaires commentaire");
       if ($nombre_commentaires>1) print ("s");
       print (" )<br>");

       // AFFICHAGE DU PREV
       if ($page_courante!="1")
       {
          $nouvelle_position=(($page_courante-1)*$nombre_par_page)-$nombre_par_page;
          print ("<a href=cette_page.php?position=$nouvelle_position>");
       }
       print ("prec");
       if ($page_courante!="1") print ("</a>");
       print (" ");

       // AFFICHAGE DES PAGES 1 A 5
       $i=1; while ($i<6)
       {
          if ($nombre_de_pages>($i-1) && $page_courante!="$i")
          {
             $new_pos=$nombre_par_page*($i-1);
             print ("<a href=cette_page.php?position=$new_pos>");
          }
          print ("$i");
          if ($nombre_de_pages>($i-1) && $page_courante!="$i") { print ("</a>"); }
          print (" ");
          $i++;
       }

       // AFFICHAGE DU NEXT
       if ($nombre_de_pages>$page_courante)
       {
          $nouvelle_position=(($page_courante+1)*$nombre_par_page)-$nombre_par_page;
          print ("<a href=cette_page.php?position=$nouvelle_position>");
       }
        print ("suiv");
       if ($nombre_de_pages>$page_courante) print ("</a>");

       print ("<br><br></center>");
    ?>


     

    Votre multipage est enfin opérationnel. En dessous, vous n'avez plus qu'à afficher partiellement vos commentaires avec un "SELECT * FROM COMMENTAIRES ORDER BY DATE DESC LIMIT $position,$nombre_par_page".

    Ce principe est généralisé à l'ensemble de ce site.

    piregwan

    Fatal error: Uncaught Error: Call to undefined function mysql_query() in /home/piregwan/public_html/piregwan.com/tutorials/multipage.php:437 Stack trace: #0 {main} thrown in /home/piregwan/public_html/piregwan.com/tutorials/multipage.php on line 437