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

PHP & Base de données Discussion :

Limité les numéros de page (pagination) [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut Limité les numéros de page (pagination)
    Bonjour.

    Je me suis créé une pagination à partir d'un exemple et qui fonctionne bien. Sauf que je voudrais limiter le nombre de numéro de page en mettant des "..." dans le milieux.

    Le code exemple est :
    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
    <?php 
    if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * 20; 
    $sql = "SELECT * FROM students ORDER BY name ASC LIMIT $start_from, 20"; 
    $rs_result = mysql_query ($sql,$connection); 
    ?> 
    <table>
    <tr><td>Name</td><td>Phone</td></tr>
    <?php 
    while ($row = mysql_fetch_assoc($rs_result)) { 
    ?> 
                <tr>
                <td><? echo $row["Name"]; ?></td>
                <td><? echo $row["PhoneNumber"]; ?></td>
                </tr>
    <?php 
    }; 
    ?> 
    </table>
    <?php 
    $sql = "SELECT COUNT(Name) FROM students"; 
    $rs_result = mysql_query($sql,$connection); 
    $row = mysql_fetch_row($rs_result); 
    $total_records = $row[0]; 
    $total_pages = ceil($total_records / 20); 
     
    for ($i=1; $i<=$total_pages; $i++) { 
                echo "<a href='pagination.php?page=".$i."'>".$i."</a> "; 
    }; 
    ?>
    Ne limite pas le nombre de numéro de page et si j'ai des centaines de pages, ça pose un problème d'affichage. Je suis bloqué sur ça.

    L'affichage que je souhaite :
    De l'aide serait appréciée.

    Joyeuses fêtes!
    On oublie souvent la simplicité ou la base dans la vie: Maslow

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    dans ce style (5 avant, 5 après) :
    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
    <?php
    			// PAGINATION
    			if($nbreTotalPages > 1) {
    			echo ' |';
    			  for ($i=1; $i<=$nbreTotalPages; $i++)
    			  {
    				if($i==1 || (($page-5)<$i && $i<($page+5)) || $i==$nbreTotalPages)
    				{
    					if($i==$nbreTotalPages && $page<($nbreTotalPages-5)) { echo '...|'; }
    					if ($i == $page) { echo ' <b>page '.$i.'</b> |'; }
    					else { echo ' <a href="pagination.php?page='.$i.'" title="page '.$i.'">'.$i.'</a> |'; }
    					if($i==1 && $page>6) { echo '...'; }
    				}
    			  }
    			} 	// (fin if)
    ?>
    -> Créer un système de pagination automatique en PHP
    A adapter...
    Dernière modification par Invité ; 09/12/2011 à 15h35.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 01/07/2009, 23h29
  2. Réponses: 7
    Dernier message: 25/11/2008, 01h30
  3. Comment supprimer les numéros de pages ?
    Par rageice dans le forum Mise en forme
    Réponses: 10
    Dernier message: 13/07/2007, 10h45
  4. Réponses: 22
    Dernier message: 30/06/2007, 22h28
  5. {mospagebreak} et ne pas afficher les numéro de page.
    Par boux2 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 04/06/2007, 14h18

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