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 :

[MySQL] Problème résultat de requête: dernière entrée en double [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 10
    Points
    10
    Par défaut [MySQL] Problème résultat de requête: dernière entrée en double
    Bonjour,

    J'ai un problème avec mon array double entrée. Les infos sortent de la bdd grâce à la requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $req1 = $bdd->prepare('SELECT m.com_id AS id, DATE_FORMAT(m.com_datetime, \'%d/%m/%Y\') AS datetime, a.art_titre AS titre_article
                           FROM commentaires AS m
                           INNER JOIN client AS c
                           ON c.client_id = m.client_id
                           INNER JOIN articles AS a
                           ON m.art_id = a.art_id
                           WHERE c.client_login = :login');
    $req1->execute(array(':login' => $_SESSION['login']));
    $com = $req1->fetchAll();
    $req1->closeCursor();
    A la sortie de la requête, j'attends un array double entrée avec deux arrays. J'ai bien ce résultat, sauf que la dernière entrée de l'array est en double, et je ne sais pas pourquoi! La copie, comme vous pouvez le voir (avec un var_dump), n'a pas de clé valide, seulement des guillemets vides!

    Voilà le résultat du var_dump sur $com:

    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
    array(3) {
      [0]=>
      array(3) {
        ["id"]=>
        string(1) "1"
        ["datetime"]=>
        string(10) "30/09/2014"
        ["titre_article"]=>
        string(29) "salut!"
      }
      [1]=>
      array(3) {
        ["id"]=>
        string(1) "2"
        ["datetime"]=>
        string(10) "09/12/2014"
        ["titre_article"]=>
        string(29) "blabla"
      }
      [""]=>
      array(3) {
        ["id"]=>
        string(1) "2"
        ["datetime"]=>
        string(10) "09/12/2014"
        ["titre_article"]=>
        string(29) "blabla"
      }
    }
    J'ai tenté d'exécuter la requête directement via phpMyAdmin qui me retourne bien deux lignes dans un tableau, et la dernière n'est pas en double...
    Je ne vois vraiment pas d'où ça peut venir... une idée?

    Merci d'avance et très bonne année!

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Il faut utiliser le mot-clé DISTINCT dans ta requête SQL pour éviter les doublons.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT m.com_id AS id ...
    /Thomas

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Re Thomas,

    Après avoir essayé la clause DISTINCT dans ma requête, ça ne fonctionne pas et j'ai toujours le même problème. J'ai tenté avec GROUP BY en précisant l'id du commentaire (puisqu'il n'y a pas deux commentaires avec le même id) mais mon array contient toujours la dernière entrée en double.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $com = $req1->fetchAll(PDO::FETCH_ASSOC);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2015
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Résolu après avoir remarqué que le problème était du à une faute de variable...
    Merci quand même !

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

Discussions similaires

  1. [WD15] Problème résultat sur requête
    Par Theo.H dans le forum WinDev
    Réponses: 1
    Dernier message: 08/02/2012, 08h46
  2. [SGBD/JDBC] [JAVA/MS ACCESS] problème résultat requête
    Par mouuaahh dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 04/04/2006, 10h31
  3. [MySQL] Problème de requête sur des dates
    Par dahu29 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2006, 13h08
  4. Requête MySQL sans résultat...
    Par x86-master dans le forum Installation
    Réponses: 13
    Dernier message: 10/12/2005, 14h19
  5. Problème de lien sur date entre Access et MySQL-4.1
    Par michou42 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 04/04/2005, 23h31

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