edito
forum (21 055)
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 (2139)
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
797 361 hits
 
 

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

tutos aléatoires
592 050 hits

 

 

screen fonts
brushes
softwares
 
 
 

 

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

10 551 792 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
    5447 visites




     

    koss, 01 06 2002 à 17:53

    Ce script est vraiment génial, mais celui d'un scroll layer serai le bienvenu

    @+


    koss (membre)
    37 ans
    koss_95@hotmail.com
    http://www.kadetro.fr.s...


    piregwan, 27 05 2002 à 18:59

    salut

    essaie la fonction urlencode(string s) qui encodera les caracteres speciaux des urls (tels que les espaces)

    a+


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


    visiteur, 26 05 2002 à 10:48

    Super ce script... il marche nickel sauf que j'ai quand même un petit pb...
    Je m'explique :
    J'utilise le script pour afficher mon annuaire de liens. celui-ci se divise en plusieurs catégories. Je transmets donc dans les url du multipage une variable $cat qui contient la catégorie que je veux afficher.
    ce qui donne pour l'affichage des pages 1 à 5 :

    <a href=links.php?cat=$c at&position=$new_pos& gt;

    Tout fonctionne bien au 1er chargement de la page sauf lorsque ja passe dans la variable une catégories qui comporte un espace du genre "personal website".
    Ma page se charge bien avec l'url links.php?cat=persona l%20website mais le script du multipage ne génère plus un lien correct...
    il tronque l'url pour me donner ça
    links.php?cat=Persona l

    Je perds donc "%20website"

    Quelqu'un aurait-il une idée ?
    Merci


    visiteur


    Per, 03 04 2002 à 20:02

    Ahh, ouaaai, c'est vrai NoKi, mais pourtant, moi, le mec le plus nul en php de tout piregwan.com, j'ai quand même reussi a bien comprendre le truc, et je remercie d'ailleurs l'auteur du script.
    C'est piregwan en plus, bon ben merci...


    Per (squatteur de t...)
    38 ans (Plage de Pors-Carn)
    per2censured@aol.com
    http://www.ebodyboard.o...


    NoKi, 28 12 2001 à 11: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)
    39 ans (Toulouse (France))
    nokii@free.fr
    http://www.fondcombe.or...


    piregwan, 22 12 2001 à 14: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 (agent mad fana...)
    47 ans (chamb�ry, 73)
    krakoukas@piregwan-genesis...
    http://www.piregwan-gen...


    ( 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.842 secondes