edito
forum (21 057)
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 (2161)
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
945 099 hits
 
 

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

tutos al�atoires
686 162 hits

 

 

screen fonts
brushes
softwares
 
 
 

 

stats publiques
infocentres
r�f�rents (25253)
refs quicklist (25253)
visiteurs uniques
awards

21 243 185 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 = @mysqli_connect ($host,$user,$password); // INITIALISATION DE LA CONNEXION
       mysqli_select_db($link, $bdd);

       $req="select * from commentaires";
       $res=mysqli_query($link, $req);
       $nombre_commentaires=@mysqli_num_rows($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
    6017 visites




     

    ebelay, 18 12 2001 � 17:26

    coment geres-tu ts les sites qui sont soumis ? dans des bd mysql ? dans ce cas la, � koi correspond chaque site dans la base et utilise tu phpmyadmin ou autre chose ?
    merci bocou,
    je suis un peu largu� ...

    ( ya pas des endroits dans paris pour prendre des cours ?)


    ebelay (membre)


    piregwan, 18 12 2001 � 15:06

    salut

    quel genre de fonctionnalit�s voudrais-tu expliqu�es concernant les sites ? il y a un tuto compteurs et un sujet dans le forum concernant les r�f�rents. si c'est pour autre chose, aucun pb.

    a+


    piregwan (agent mad fana...)
    48 ans (chamb�ry, 73)
    krakoukas@piregwan-genesis...
    http://www.piregwan-gen...


    ebelay, 17 12 2001 � 19:37

    peux tu faire un tuto sur ton annuaire d'urls ou bien est-ce trop compliqu� ? est-ce abordable pour un debutant en php ?



    ebelay (membre)


    piregwan, 02 12 2001 � 14:48

    salut

    la table n'a aucune importance. peu importent les enregistrements qu'elle contient, �a n'a aucune influence sur le principe du multipage.

    a+


    piregwan (agent mad fana...)
    48 ans (chamb�ry, 73)
    krakoukas@piregwan-genesis...
    http://www.piregwan-gen...


    moi, 02 12 2001 � 11:37

    quelqu'un peut il donner la table � un d�butant?


    moi


    cob, 30 07 2001 � 22:59

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


    cob (guest star)
    47 ans (toulouse)
    respecto@free.fr
    http://www.greybox.tk


    ( 12 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 - piregwan 1998-2002




    toutes les banni�res


    g�n�r� en 0.185 secondes