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 :

problème affichage requête : il en manque un à l'appel [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut problème affichage requête : il en manque un à l'appel
    Bonjour,

    j'ai fait une requete php pour afficher une liste d'albums (cette liste contient 15 titres), affichés par ordre chrono. Débutant en php, j'ai réussi à faire fonctionner tt cela mais en regardant attentivement je me suis aperçu que n'etaient affichés que 14 résultats (sur les 15), cad qu'à chaque fois le 1er résultat (cad le 1er par ordre chrono) n'est jamais affiché... pourtant quand je fais cette requete sous phpmyadmin, les 15 sont affichés !

    voici tt mon 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
    <?php
    // Déclaration des paramètres de connexion
    require("../admin/conf.php");
     
     
     
    // Creation et envoi de la requete
    $query = "SELECT annee_titre,titre,auteur FROM titres WHERE id_genre=1 ORDER BY annee_titre ";
    $result = mysql_query($query);
     
    // Recuperation des resultats
    if (!mysql_fetch_row($result)) {
    echo "Aucun enregitrement ne correspond\n";
     
    }
     
    else {
    	while($row = mysql_fetch_row($result)){
    		$annee_titre = $row[0];
    		$titre = $row[1];
    		$auteur = $row[2];
     
    		echo "<tr>\n
    		<td width=\"5%\" align=\"left\" valign=\"top\">$annee_titre |</td>\n
    		<td width=\"55%\" align=\"left\" valign=\"top\">$titre</td>\n
    		<td width=\"40%\" align=\"left\" valign=\"top\"><strong>$auteur</strong></td>\n
    		</tr>\n";
     
    	}
    }
    // Deconnexion de la base de donnees
    mysql_close();
     
     
    ?>

    (c'est issu d'un tuto, que j'ai adapté pour mon cas.)

    Si qqn connait déjà ce pb ? merci pour votre aide !

    KikiRun

  2. #2
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    Es-tu sur qu'ils sont tous du id_genre=1 ?

    Sinon, dans ta boucle While, essais juste print_r($row); pour voir....

    Bizarre...
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  3. #3
    Membre confirmé Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Salut !

    Je crois que le problème viens de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!mysql_fetch_row($result)) {
    echo "Aucun enregitrement ne correspond\n";
    }
    A chaque fois que tu appelles mysql_fetch_row, il passe à la ligne suivante. Donc en l'occurence ici tu l'appelles déjà une fois... d'où le premier résultat manquant (je pense).

    Pour corriger tu devrais faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (msql_num_rows($result)==0) {
    echo "Aucun enregitrement ne correspond\n";
     
    }
    Comme ca tu n'appelles pas mysql_fetch_row pour savoir si le résultat est vide, et tu auras le premier résultat !

    ++

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 12
    Par défaut
    merci pour la réponse,

    CA MARCHE ! j'ai juste remis le y de mysql et hop !

    merci bigltnt

    A++

  5. #5
    Membre confirmé Avatar de bigltnt
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 227
    Par défaut
    Oups oui désolé
    Je suis un peu étourdi des fois ^^

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

Discussions similaires

  1. [MySQL] Problème affichage requête
    Par Askental dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/11/2009, 22h21
  2. Problème affichage requête
    Par tsyfar dans le forum Jasper
    Réponses: 3
    Dernier message: 30/06/2009, 21h35
  3. [MySQL] [SQL] problème affichage résultat d'une requête
    Par mitmit dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/04/2007, 11h14
  4. [MySQL] Problème d'affichage requête
    Par PAYASS59 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/12/2006, 11h55
  5. Problème d'affichage requête
    Par ph.rincon dans le forum Débuter
    Réponses: 2
    Dernier message: 26/11/2006, 19h26

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