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 affichages de données avec JOIN left


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut problème affichages de données avec JOIN left
    Bonjour

    pouvez vous m'aider a corriger ma requête sql .

    voici mes tables

    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
    table equipes
    id_equipe
    nomdequipe
    ....
    
    table  titres
    id_titre
    titre
    ....
     titres remportés
    id_titre
    id_equipe
    ...
    
     Quartiers 
    id_quartier
    nom
    ...
     lesmatches
    id_match
    id_equipe
    nomdestade
    id_quartier
    Journee
    Donc je veux afficher tous les matches avec les noms des équipes jouées , les titres .. le problème c'est qu'il y'a des équipes qi n'ont pas remporter
    de titre et des stades dans la table les matches avec un id_quartier NULL.

    j'ai écris ma requête comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // $db une instance class PDO
    $sql =  $sth = $this->db->prepare("SELECT a.*, b.titre, c.nomdequipe , d.nom FROM lesmatches a, titres b, equipes c
    WHERE a.id_equipe = c.id_equipe AND a.id_quartier = d.id_quartier AND b.id_equipe = c.id_equipe AND a.Journee = :journeeVoulu
     
    ");
    $sth->execute(array(':journeeVoulu' => $paramètre));
    	$data = $sth->fetchAll();
    je crois que ma situation nécessite une requete faites avec JOIN LEFT mais vu que j'ai très peu d’expérience avec la notion de Joins je compte sur votre aide pour résoudre ce problème .
    merci a vous.

  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
    Une jointure doit se faire avec JOIN dans tous les cas.
    Je te déconseille de mettre des alias a, b, c, d parce que c'est illisible, met au moins la premiere lettre de la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT m.*, t.titre, e.nomdequipe , q.nom 
    FROM lesmatches m
    JOIN equipes e ON e.id_equipe = m.id_equipe
    LEFT JOIN titres t ON t.id_equipe = e.id_equipe
    LEFT JOIN Quartiers q ON q.id_quartier = m.id_quartier
    WHERE m.Journee = :journeeVoulu
    Bon par contre si ton équipe a 200 titres, tu obtiendras 200 lignes par matche.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut
    Merci Beaucoup Sabotage pour ton aide .

    Citation Envoyé par sabotage Voir le message
    Une jointure doit se faire avec JOIN dans tous les cas.
    Je te déconseille de mettre des alias a, b, c, d
    est ce que c'est bien de remplacer ces alias a, b, c, d par les noms des tables ??

  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
    Par défaut
    un alias sert a ne pas citer le nom de la table, c'est utile quand tu as des noms de table assez long par exemple (ou que tu as des sous requête).
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. problème affichages de données avec group by
    Par salyiohh dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/07/2015, 13h31
  2. Problème affichage de données avec héritage
    Par Saphir09 dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2011, 18h56
  3. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34
  4. Problème d'affichage de données avec crystal report
    Par napegadie dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 07/12/2005, 15h45
  5. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19

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