IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Langage PHP Discussion :

Système de pagination optimal


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Système de pagination optimal
    Bonjour,

    J'ai récemment fait un système de pagination pour mon site. Il fonctionne bien mais il n'est pas optimisé du tout. Je m'explique : si il y a 100 pages alors, toutes les pages de la 1 à la 100 seront affiché en bas ...

    Comme ceci :
    Nom : 1.PNG
Affichages : 166
Taille : 4,0 Ko


    J'aimerais donc faire comme pour Google c'est à dire affiché 10 pages et quand l'utilisateur va cliquer sur la sixième alors la première ne sera plus visible et la onzième le sera.

    Merci de vos réponse,
    J'espère que vous pourrez m'aider !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ nous montrer ton code serait un bon début.

    2/ Nous dire précisément ce que tu veux afficher serait un plus :
    • 5 avant / 5 après ?
    • + liens préc. / suiv.. ?
    • + le 1er et le dernier ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Mon code est assez gros et complet étant donné qu'il y a pas mal d'info sur le site ... Je peux te montrer quelques bout de code :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    $NbEnregistrement = $BDD -> query('select count(*) from effectuer') -> fetchColumn();
     
    $NombreDePage = ceil($NbEnregistrement/$LigneParPage);
     
    if(isset($_GET['page']) && !empty($_GET['page']))
    {
    	$PageActuelle = intval($_GET['page']);
     
    	if($PageActuelle > $NombreDePage)
    	{
    		$PageActuelle = $NombreDePage;
    							}
    	if($PageActuelle <= 0)
    	{
    	$PageActuelle = 1;
    	}
    }
    else
    {
    	$PageActuelle = 1;
    }
     
     
    for ($i=1; $i <= $NombreDePage ; $i++) 
    { 
    if($i == $PageActuelle)
    {
    	echo '<a class="BtnGlobal">' . $i . '</a>';
    }
    else
    {
    	echo "<a class='BtnGlobal' style='width:30px; padding:0px;' href='EMP_Recherche.php?page=$i'> $i </a>";
    }

    Par rapport à ce que je veux c'est bien 5 page avant celle courant et et 5 après.

    voilà

  4. #4
    Invité
    Invité(e)
    Par défaut
    A adapter :
    Code php : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    		<nav class="artPagination">
    <?php	// ARTICLES - PAGINATION
    		// -----------------
    		$numLimit	= 5; 	// Limite : nombre de pages avant/après la page courante
    		$pagSep		= '';	// Séparateur '', '-', '|', '/' : entre les numéros de pages
    		// -----------------
    		echo $pagSep;
    		for( $i=1; $i<=$totalPages; $i++)
    		{
    			// 1ère page
    			if( $i==1 && $numPage>($numLimit+1)) 
    			{
    				echo '<a href="?pg='.$i.'" title="'.dico('Page').' '.$i.'">'.$i.'</a>'.$pagSep.'... '.$pagSep;
    			}
    			// page courante + $numLimit pages avant et après
    			if( ($numPage-1-$numLimit)<$i && $i<($numPage+1+$numLimit))
    			{
    			  if( $i==$numPage ){ // page courante
    				echo '<span>'.$i.'</span>'.$pagSep;
    			  } else {
    				echo '<a href="?pg='.$i.'" title="'.dico('Page').' '.$i.'">'.$i.'</a>'.$pagSep;
    			  }
    			}
    			// dernière page
    			if( $i==$totalPages && $numPage<($totalPages-$numLimit)) 
    			{ 
    				echo '... '.$pagSep.'<a href=?pg='.$i.'" title="'.dico('Page').' '.$i.'">'.$i.'</a>';
    			}
    		}
    ?>
    		</nav>

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup de ton aide, je vais tester ça, je te dirais si ca fonctionne ou pas

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Voilà je viens de tester le code, ca marche super bien !

    Merci infiniment de ton aide, voici le résultat :

    Nom : 4.PNG
Affichages : 134
Taille : 24,5 Ko

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Spip] Système de pagination Spip
    Par clementM dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/09/2008, 19h01
  2. [Système] Système de pagination
    Par innova dans le forum Langage
    Réponses: 1
    Dernier message: 25/09/2006, 15h08
  3. [Smarty] Ecriture d'un système de pagination
    Par wkd dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 20/09/2006, 11h01
  4. [MySQL] Système de pagination pour une galerie photo
    Par Badaboumpanpan dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/06/2006, 15h31
  5. [phpBB][2] Réalisation d'un système de pagination
    Par AlphonseBrown dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 26/10/2005, 11h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo