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 :

pagination avec la méthode GET


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Points : 175
    Points
    175
    Par défaut pagination avec la méthode GET
    bonjour à tous.

    je dois afficher les résultats d'une requête. je dois avoir 5 résultats par lignes par exemple. je peux afficher les 5 premiers mais pas les autres. Je n'arrive pas à récupérer les infos passer avec GET. J'ai fait des echo est ça ne marche pas. voila le 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?php
    // Numéro de la page à afficher
    $page = 0;
    if(isset($_GET['page']) && is_int($_GET['page'])) {
    	$page = $_GET['page'];
    	echo "get page : $page </br>";
    }
    // Nombre de résultats par page
    $nb = 5;
    if(isset($_GET['nb']) && is_int($_GET['nb'])) {
    $nb = $_GET['nb'];
    echo "get ng : $nb </br>";
    }
     
    // Nombre total d'enregistrements
    $sql = "SELECT Count(NUM_CHAU) FROM CHAUSSURES;";
     
    $query = mysql_query($sql,$connec) or die("erreur -> ".mysql_error());
     
    $row = mysql_fetch_row($query);
    $total = $row[0];
    echo $total;
    // Nombre maximum de pages
    $max_pg = ceil($total / $nb);
    // Selection des enregistrements pour la page considérée
    $sql = "SELECT marques.NOM_MARQUE, type.NOM_TYPE, chaussures.NUM_CHAU, chaussures.NOM_CHAU, chaussures.PRIX_CHAU, chaussures.IMA_CHAU, "
    ."chaussures.QUI_CHAU FROM marques INNER JOIN (type INNER JOIN chaussures ON type.NUM_TYPE = chaussures.NUM_TYPE) "
    ."ON marques.NUM_MARQUE = chaussures.NUM_MARQUE "
    ."ORDER BY marques.NOM_MARQUE, type.NOM_TYPE, chaussures.NOM_CHAU "
    ."LIMIT ".($page * $nb).",".$nb.";";
     
    echo $sql;
     
    $query = mysql_query($sql,$connec) or die("erreur -> ".mysql_error());
    ?>
    <p>Page actuelle : <?= $page ?></p>
    <p>Nb d'enregistrements par page : <?= $nb ?></p>
    <table>
    <tr>
    <th>NOM_MARQUE</th>
    <th>NOM_TYPE</th>
    <th>NOM_CHAU</th>
    </tr>
    <?php
    while($list = mysql_fetch_assoc($query)) {
    echo '<tr>';
    echo '<td>'.$list['NOM_MARQUE'].'</td>';
    echo '<td>'.$list['NOM_TYPE'].'</td>';
    echo '<td>'.$list['NOM_CHAU'].'</td>';
    echo '</tr>';
    }
    ?>
    </table>
    <p>Pages :
    <?php
    for($i = 0 ; $i < $max_pg ; $i++) {
    echo ' <a href="test2.php?page='.$i.'&nb='.$nb.'">'.$i.'</a>';
    }
    ?>
    </p>

  2. #2
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Points : 175
    Points
    175
    Par défaut
    je viens de trouver une erreur le test du nombre entier ne sert à rien.

  3. #3
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    Et si tu remplacer ton is_int par un ctype_digit, car is_int te dit si une variable est un entier, hors "1" n'est pas un entier mais une chaîne.(cf: http://fr3.php.net/is_int )

    Avec ctype_digit, php te dit si ta chaîne ne contient que des entiers (cf: http://fr3.php.net/manual/fr/function.ctype-digit.php)

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

Discussions similaires

  1. [MySQL] Passage d'arguments avec la méthode GET
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/02/2009, 23h23
  2. [W3C] Validation sur un lien PHP avec la méthode GET
    Par Mooneer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 08/06/2008, 23h32
  3. Réponses: 3
    Dernier message: 10/12/2007, 17h28
  4. [AJAX] Passage de 2 paramètres avec la méthode GET
    Par furth dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/06/2007, 16h18
  5. Réponses: 3
    Dernier message: 09/02/2007, 22h39

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