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 [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
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 39
    Par défaut Problème affichage requête
    Bonjour,

    J'ai un problème avec l'affichage de ma requête, et je n'arrive pas à trouver pourquoi.
    J'essaie d'afficher une liste d'exposition que j'ai sur ma BDD.
    J'arrive bien à afficher ma requête, mais elle affiche tout en double.

    Voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT exposures.address, exposures.date_start, exposures.date_end,exposures.id
    FROM users, exposures, exposures_users
    WHERE exposures_users.user_id='.$this->params['id'].' AND exposures_users.exposure_id=exposures.id
    ORDER BY exposures.date_end DESC
    Et voici mon code pour l'afficher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    foreach($expos as $expo){
    ?>			
     
    <br/>Exposition du <?php  echo $expo['date_start'];  ?> au <?php  echo $expo['date_end'];  ?> à <?php  echo $expo['address'];  ?>
     
    <?php
    }
    ?>
    Et voici ce que j'obtiens :

    Exposition du 20091225 au 20091225 à Paris, 12eme
    Exposition du 20091225 au 20091225 à Paris, 12eme
    Exposition du 20081225 au 20081230 à Paris
    Exposition du 20081225 au 20081230 à Paris

    Je n'ai pas de doublons dans ma base de données, donc je ne vois pas pourquoi cela affiche deux fois chaque exposition.

    De plus, j'ai une petite question pour ma requête. Je dois séparer les expositions finies et celle à venir, par rapport à la date d'aujourd'hui.
    Est-ce que la ligne : exposures.date_end < TO_DAYS(NOW()) est suffisante? Elle ne semble pas fonctionner mais je ne sais pas si c'est cette ligne qui ne fonctionne pas ou autre chose qui empêche son fonctionnement.

    Merci beaucoup pour vos réponses.

  2. #2
    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
    Par défaut
    As-tu testé ta requete en dehors de PHP ?
    De quel SGDB parle t-on ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Sans vraiment chercher à comprendre, tu as aucunes jointures sur tes tables

    elle est paumée ta projection !?

    Je verrais sans être un pro SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT exposures.address, exposures.date_start, exposures.date_end,exposures.id
    FROM exposures e1
    INNER JOIN exposures_users e2
    ON e1.id = e2.id
    WHERE e2.user_id='.$this->params['id'].' AND e2.exposure_id=exposures.id
    .....

    bref un truc de ce genre voir cours sql ici sur le forum

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 39
    Par défaut
    sabotage=> Je suis sous MySQL
    Fench => Merci pour ta réponse, je vais l'étudier.

    J'ai réussi à régler mon problème en supprimant la table user dans FROM, table qui était en trop à cause d'un mauvais copier/coller...
    Je suis désolée de voir avoir dérangé pour une question simple et merci pour vos réponses.
    Malgré cela, j'ai une petite question : pourquoi en ayant une table en trop, j'ai des doublons à l'affichage? Je ne vois pas ce qui pourrait faire cela... (mais bon, ca marche !)

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

Discussions similaires

  1. Problème affichage requête
    Par tsyfar dans le forum Jasper
    Réponses: 3
    Dernier message: 30/06/2009, 21h35
  2. [MySQL] problème affichage requête : il en manque un à l'appel
    Par kikirun dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 20/06/2007, 16h47
  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