begin process at 2012 05 28 11:09:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

affichage page par page


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

affichage page par page

dimanche 8 mars 2009 à 13:31:06 | affichage page par page

slashf

bonjour a tous, voilà mon petit souci j'ai cherché sur google mais rien :( du coup j'ai pas eu le choix que de poster ce message, se que je cherche a faire c un affichage page par page jusque là c bon c fait, mais quand j'ai beaucoup de page genre 30 j'aimerai que seulement la 1er page et quelque page au milieu soit affiché ainsi que la page de la fin
exemple : 1 ... 5 6 7 8 9...30     dans cette exemple je suis a la page 7
mon bout de code est le suivant :

<?php //début 
                  //affichage pages par pages
                  $nbpages=ceil($nb_total/$limit);
                  // affichage de la première page si nécessaire (si nb total de pages supérieur à 5)
if($nbpages>2 and $page>=1){
    echo  "<td width='23' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=0\"> 1 </a> </td> ";
    echo  "<td width='23' height='19' align='center' class='nb_recherche'> ...  </td> ";
    }
    //
    // AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST (LA PREMIERE PAGES EST 0)
if ($page>0){
    $precedent=$page-1;
    echo  "<td width='31' height='19' align='center' class='nb_recherche'><a  href=\"$fichier?page=$precedent\">  <<    </a> </td>";
    } /////
    // AFFICHAGE DES NUMEROS DE PAGE
$i=0;$j=1;
if($nb_total>$limit){
    while($i<($nbpages)){ //  pour limiter l'affichage du nombre de pages restantes
        if ($i>$page-2 and $i<$page+6){ //
            if($i!=$page)
            {echo "<td width='23' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=$i\"> $j </a> </td>";}
            else {echo "<td width='23' height='19' align='center' class='nb_rechercheOn'> $j </td>";}//met en gras le N° de la page en cours
            }//fin du if i>pge....
        $i++;$j++;}//fin du while i<nbpages
    }    //fin du if nbT>limit////////////////////////:
// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($page<$nbpages-1){
    $suivant=$page+1;
    echo "<td width='31' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=$suivant\">     >>    </a> </td>";
    }   
    // affichage de la dernière page si nécessaire
if($nbpages>3 and $page<$nbpages-3){
$fin=$nbpages-1;
    echo  "<td width='31' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=$fin\">Fin</a></td>";
   

}// fin du else affichage des résultats.
// fin du si il y a eu saisie

// fin


dimanche 8 mars 2009 à 22:31:55 | Re : affichage page par page

coucou747

Administrateur CodeS-SourceS
salut

pour commencer une question de style :
90% de tes commentaires sont inutils, ils nous perdent dans des infos sans interret, et ca nous embrouille en plus de nous faire perdre notre temps

ton indentation nuit a la comprehention du script

utilise && et pas and quand tu ne fais pas d'effets de bords, car && est plus rapide.

utilise les boucles for plutot que while quand elles conviennent mieux.

a premiere vue, ca donnerait qqch comme ca :

<?php
$nbpages=ceil($nb_total/$limit);

// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST (LA PREMIERE PAGES n'est pas 0)
if ($page != 0){
    $precedent=$page-1;
    echo  "<td width='31' height='19' align='center' class='nb_recherche'><a  href=\"$fichier?page=$precedent\">  <<    </a> </td>";
}

// affichage de la première page si nécessaire (si nb total de pages supérieur à 5)
if($nbpages>2 && $page>=1){
    echo  "<td width='23' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=0\"> 1 </a> </td> ";
    echo  "<td width='23' height='19' align='center' class='nb_recherche'> ...  </td> ";
}

if($nb_total>$limit){
    for ($i = min(1, $page-2); $i<min($brpages, $page+6); $i++){
      if($i!=$page){
echo "<td width='23' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=".($i - 1)."\"> $i </a> </td>";
      }else{
echo "<td width='23' height='19' align='center' class='nb_rechercheOn'> $i </td>";
      }
    }
}

// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($page != $nbpages-1){
    $suivant=$page+1;
    echo "<td width='31' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=$suivant\">     >>    </a> </td>";
}  

// affichage de la dernière page si nécessaire
if($nbpages>3 && $page<$nbpages-3){
    $fin=$nbpages-1;
    echo  "<td width='31' height='19' align='center' class='nb_recherche'><a href=\"$fichier?page=$fin\">Fin</a></td>";
}


mais j'ai pas teste, donc j'en suis pas sur.


Cette discussion est classée dans : fin, page, affichage, echo, if


Répondre à ce message

Sujets en rapport avec ce message

Affichage des resultat d'une requete sur plusieur pages [ par zizou94 ] Bonjour a tous Voila je suis toujours sur la programmation de mon premier site et j ai un souci. Je souhaiterai limiter l'affichage de mes résultat su Vitesse d'affichage [ par kishkaya ] Bonjour tout le monde, j'aimerai savoir si, comme je le crois : echo 'salut tout le monde';met moins de temps a etre traité que : echo "salut tout le PHP/SQL code pour trier des produits (fonctionne en local mais pas sur internet) [ par Uga ] j'ai réalisé (enfin essayé) une page qui affiche des produits (9 par page) et qui calcule le nombre de produit total dans la BDD pour générer le nombr affichage page par page avec des point (...) [ par slashf ] salut a tous donc voilà j'ai un scripte qui marche très bien jusque là pas de souci sauf que si j'ai un résultats de 100 pages ça va être trop encombé Affichage de résultat d' une requête en ligne [ par winnie39 ] Bonjour à tous,En ce lundi matin je vous pose la question qui me bloque depuis vendredi dans mon travail,Je souhaite faire simplement une page "panora Affichage page par page [ par McGyver59 ] Bonjour Voila j'ai recupéré un script de livre d'or avec insertion des message dans un fichier txt. Je l'adapte a mon site jusque la touva bien. le p error Undefined offset [ par tadjidine ] Bonjour, je suis entrian de crée un site de boutique ne ligne; après je suis en phase d'afficher tous les produit existant ds la tableau produit mais probléme avec mes fonction mysql [ par jinin ] Salut j'ai essayer de faire une script qui affiche page par page des article que moi l'admin je poste sur ma partie index de mon site voici mes erreur Cibler sur une page principale l'apparition d'un echo [ par monoski ] Je désirerai savoir s'il est possible de faire apparaitre un echo dans une div conçu à cet effet évitant ainsi de rafraichir une page à la suite de l' gestion des accès sous php [ par patingfree ] bonjour à tous, je travaille sur une application où chaque utilisateur doit s'identifier à l'aide d'un identifiant et un mot de passe et accéder à une


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,763 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales