Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Affichage page par page des résultats avec des pointillés pour les numeros de page


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Affichage page par page des résultats avec des pointillés pour les numeros de page
    Bonjour
    j'ai la fonction suivante qui me permet d'afficher mes résultats en limitant le nombres d'affichages par page.j'ai donc plusieurs pages avec leur numero qui vont s'afficher et me permettre de basculer facilement.Mon code marche super bien sauf que j'aimerais insérer des pointillés afin que l'utilisateur ne se voit pas afficher toutes les pages dans le cas ou elles seront nombreuses.
    En clair j'aimerais avoir (1 2 3........18 19 20) au lieu de (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 avec les (......) qui seraient des liens comme si c’était les vrais chiffres.Help please!

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    function affichePages_article($datepubl1,$nb,$page,$total) {
            $nbpages=ceil($total/$nb);
            $numeroPages = 1;
            $compteurPages = 1;
            $limite  = 0;	
           while($numeroPages <= $nbpages) {		
    	  echo'<div id="nav_link"class="navigation" style=" float:left; border:1px solid #FF9;left:5px;margin-left:2px"><a href ="'.$page.'?limite='.$limite.'&annee='.$datepubl1.'">'.$numeroPages.'</a></div>'; 
            $limite = $limite + $nb;
            $numeroPages = $numeroPages + 1;
            $compteurPages = $compteurPages + 1;
                if($compteurPages == 5) {
                $compteurPages = 1;     
              }   
    }  
    }
     
    ?>

  2. #2
    Modérateur

    Bonjour,

    Quelque chose comme ça :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    function affichePages_article($datepubl1, $nb, $page, $total) {
       $nbPages = ceil($total/$nb);
       $numeroPage = 0;
       $limite = 0;
       while(++$numeroPage <= $nbPages) {
          $pageNum = (($numeroPage > 3) || ($numeroPage < ($nbPages-3)))
                        ? '.'
                        : $numeroPage;
          echo <<<SC
    <div id="nav_link" class="navigation" style="float:left; border:1px solid #FF9;left:5px;margin-left:2px">
       <a href="$page?limite=$limite&annee=$datepubl1">$pageNum</a>
    </div>
    SC;
          $limite += $nb;
       }
    }
    ?>


    Je te conseillerai aussi de sortir le style dans un fichier css.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  3. #3
    Membre à l'essai
    Bonjour,

    j'ai essayé ton script en considérant que j'avais que 2 pages.Mais il ne m'affiche que les resultats de la premiere page.De plus je n'ai pas (1.) mais plutot (2) qui s'affiche.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function affichePages_article($datepubl1,$nb,$page,$total) {
            $nbpages=ceil($total/$nb);
            $numeroPages = 1;
            $compteurPages = 1;
            $limite  = 0;	
           while(++$numeroPages <= $nbpages) {   
     
               $pageNum = (($numeroPages > 1) || ($numeroPages < ($nbPages-1)))? '.' : $numeroPages;
     
    echo'<div id="nav_link"class="navigation" style=" float:left; border:1px solid #FF9;left:5px;margin-left:2px"><a href ="'.$page.'?limite='.$limite.'&annee='.$datepubl1.'">'.$numeroPages.'</a></div>'; 
     
          $limite += $nb;
       }
     
     
    }

  4. #4
    Membre à l'essai
    oups
    Oups,
    j'ai remarqué que j'avais fait des erreurs dans le code que tu as posté,là il marche super bien,merci beaucoup! c'est super genial de ta part!

  5. #5
    Modérateur

    Oui j'ai raté un bout de mon code, remplace le test par :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    $pageNum = (($numeroPage < 4) || ($numeroPage > ($nbPages-3)))
                  ? $numeroPage
                  : '.';
    # Dans la Création, tout est permis mais tout n'est pas utile...