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 :

Faire une pagination


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut Faire une pagination
    Rebonjour,

    J'essaie de faire une pagination en m'inspirant d'un tuto.
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
    //nombre de ligne par page
    $lignesParPage = 2;
    $retour_total = mysql_query('SELECT COUNT(*) AS total FROM membres'); 
    //On range retour sous la forme d'un tableau.
    $donnees_total=mysql_fetch_assoc($retour_total); 
    //On récupère le total pour le placer dans la variable $total.
    $total_pages = $donnees_total['total']; 
    //comptage du nombre de pages.
    $nombreDePages=ceil($total_pages/$lignesParPage);
    // Si la variable $_GET['page'] existe...
    if (isset($_GET['page'])) {
    	$pageActuelle = intval($_GET['page']);
    	if ($pageActuelle > $nombreDePages) { // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
    		$pageActuelle = $nombreDePages;
    	}
    }
    else {
    	$pageActuelle = 1; // La page actuelle est la n°1
    }
    // On calcul la première entrée à lire
    $premiereEntree = ($pageActuelle ) * $lignesParPage;
     
    $sql = mysql_query('SELECT membres.*, locataire.* FROM membres,locataire WHERE locataire.id_membre = membres.id_membre ORDER by membres.id_membre LIMIT '.$premiereEntree.', '.$lignesParPage.'');
    $nblgn = mysql_num_rows($sql);
    for ($i = 0; $i < $nblgn; $i++) {
    	$id_membre = mysql_result($sql,$i,"id_membre");
    	$nom = mysql_result($sql,$i,"nom");
    ....
    }
    echo "</tbody></table>";
    echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
    for($i=1; $i <= $nombreDePages; $i++) //On fait notre boucle
    {
         //On va faire notre condition
         if($i == $pageActuelle) //Si il s'agit de la page actuelle...
         {
             echo ' [ '.$i.' ] '; 
         }	
         else //Sinon...
         {
              echo ' <a href="index.php?page=liste&amp;page'.$i.'">'.$i.'</a> ';
         }
    }
    echo '</p>';
    ?>
    Dans mon exemple j'ai 3 enregistrements et je veux pour l'instant afficher 2 enregistrements par page j'ai donc 2 pages
    Le nombre d'enregistrements par page est correcte, ainsi que l'affichage du nombre de pages
    Quand je clique sur 2 pour afficher la suite, c'est la page 1 qui reste affichée.

    Merci d'avance

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if (isset($_GET['page'])) {
    	$pageActuelle = (int) $_GET['page'];
    	if ($pageActuelle > $nombreDePages) { 
    		$pageActuelle = $nombreDePages;
    	}
    }
    else {
    	$pageActuelle = 1;
    }
    $premiereEntree = ($pageActuelle ) * $lignesParPage;

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Merci pour $pageActuelle = (int) $_GET['page'];

    Je dois avoir un problème ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ' <a href="index.php?page=liste&amp;page='.$i.'">'.$i.'</a> ';
    par rapport à $_GET['page']
    quand je clique j'arrive sur ma page d'accueil !!!

  4. #4
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    l'affichage de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?page=liste&amp;page='.$i.'">'
    est correct ?

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Si c'est une question la réponse est :
    Non puisque j'arrive sur la page accueil.php au lieu de liste_petition.php

    D'après ce que je crois comprendre dans le tuto $_GET['page'] est un nombre alors que dans mon code "page" me sert à inclure des fichiers php.
    Si c'est ça comment je peux contourner le problème ?

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

Discussions similaires

  1. [MySQL] recherche script ou une classe pour faire une pagination
    Par bigs3232 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/12/2011, 15h32
  2. Faire une liste paginée avec rafraichissement automatique
    Par identifiant_bidon dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/01/2011, 08h42
  3. [MySQL] Pagination : faire une boucle dans un tableau ?
    Par benjam89 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 13/09/2007, 20h10
  4. [JSP] Comment faire une pagination dans une page JSP?
    Par adil_vpb dans le forum Servlets/JSP
    Réponses: 34
    Dernier message: 25/05/2007, 14h02
  5. Faire une pagination avec lien suivant et précédent
    Par Alexandrebox dans le forum Langage
    Réponses: 2
    Dernier message: 29/03/2007, 17h35

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