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 366 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


    12685 visites




     

    NoKi, 28 12 2001 à 12:37

    C'est bien complexe tous ça, le code est complexé a mort et les codes sur fond noir, je pense que pour celui qui veux apprendre le php, bas il peut tjrs essayer de comprendre ! sans vouloir faire de l'intoxe, les codes de ce site sont vraiment tres dure a comprendre vu qu'il sont enormement complexe ! POURQUOI FAIRE SIMPLE QUAND ON PEUX FAIRE COMPLEXE...


    NoKi (membre)
    25 ans (Toulouse (France))
    nokii_AT_free.fr
    http://www.fondcombe.or (..)


    piregwan, 22 12 2001 à 15:33

    salut

    les sites soumis sont stockés temporairement dans une table propositions_de_liens . un mail de notif est envoyé aux modérateurs à chaque proposition. ils le valident ou le suppriment (avec ou sans notification de l'auteur du site pour éviter les brouilles inutiles ^^). quelle que soit la décision, le site est détruit de la table propositions_de_liens . si le site est accepté, un mail est envoyé avec l'url du site a ajouter. je fais une vignette quand j'ai le tps et voila. le site est ajouté dans la table, avec les fonctionnalités classiques (compteurs de hits, compteurs de hits référents, commentaires...)

    les propositions de liens, en général c'est benzor et niko qui s'en occupent.

    joyeuses fetes a+


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


    ebelay, 18 12 2001 à 18: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 à 16: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 (sympatisant mi (..))
    34 ans
    piregwan_AT_piregwan.com
    http://www.piregwan.com


    ebelay, 17 12 2001 à 20: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 à 15: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 (sympatisant mi (..))
    34 ans
    piregwan_AT_piregwan.com
    http://www.piregwan.com


    ( 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 5.149 secondes