edito
forum (83 203)
making of
raccourcis PS
coups de coeur (6)
archives CDC (26)
bétisier (28)
plan du site
infos légales

 


 

Devenez awares ! Et essayez de survivre.




aperçu
 

 

login | logout
gérez votre profil
devenez membre
membres (7503)
annivs (2602)
awares (60)
mickeys (59)
notables (128)
modérateurs (8)
votre vie privée

 

 

amis (39)
gfx français (61)
divers (936)
pixel art (94)
illustration (117)
portails (17)
ressources (31)
flash (324)
3D (31)

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






























 

 

stats publiques
infocentres
référents (8 977)
ref quicklist (8 977)
visiteurs uniques
awards

7 019 369 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.


    Tuto proposé par :

    piregwan (sympatisant mi (..))
    34 ans
    piregwan_AT_piregwan.com
    http://www.piregwan.com


    12686 visites




     

    moi, 02 12 2001 à 12:37

    quelqu'un peut il donner la table à un débutant?


    moi


    cob, 31 07 2001 à 00:59

    super terrible ! manque plus qu'à ajouter des @ devant les $ en cas de bdd vide et ça roule


    cob (membre)
    32 ans (Montpellier)
    arriereboutique_AT_free.fr
    http://www.urbanbass.or (..)


    ( 20 commentaires )
    << 1 2 3 4 5 6 7 8 9 10 11 12 >>

     











    P I R E G W A N . C O M
    interface, développement & hébergement - piregwan 1998-2004




    forum | infocentres | recherche | t-shirts | photos


    généré en 1.051 secondes