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 :

Jointure de 3 tables en PHP


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut Jointure de 3 tables en PHP
    j'ai 3 tables liées par la méme relation dans mon schéma relationnel, et je n'arrive pas à faire une requete de jointure sur les 3 tables dans mon code php.
    merci de me dire comment faire cette jointure.

    voici la requete que j'ai ecris mais elle n'afiche rien quand je veux afficher sont résultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT nom, code, intitule_parcour FROM candidat c, parcours p, universite u, postuler ps
    WHERE c.num=p.num AND ps.code_univ=u.code_univ AND ps.code_parcour=p.code_parcour
    la relation qui li les 3 tables est 'POSTULER'

  2. #2
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    Si elle n'affiche rien, c'est qu'il doit te manquer des conditions dans ta jointure.
    Envoie le schéma de tes tables, la requête que tu veux faire avec un petit exemple de données et du résultat souhaité (avec le résultat obtenu, s'il y en a un).

  3. #3
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut
    le schema :
    parcour (code_parcour, intitule).
    candidat (num,nom,prenom).
    universite(code_univ,nom_univ).
    postuler (num,code_parcour,num,admis).

    voici le début de ma requete, en fait ce que je voulais afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT nom_univ,i ntitule, admis FROM ....WHERE num='x'
    se sont les 3 infos que je voulais affichais dans une tableau :
    nom_univ - intitule - admis
    pour un num de candidat donné.
    merci à toi

  4. #4
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    Citation Envoyé par lenstoi Voir le message
    le schema :
    parcour (code_parcour, intitule).
    candidat (num,nom,prenom).
    universite(code_univ,nom_univ).
    postuler (num,code_parcour,num,admis).
    Il y a deux num dans postuler. Est-ce une erreur ? Sinon à quoi correspond chacun ?
    Je vois que postuler est liée à parcour par l'intérmédiare de code_parcour, à candidat par num, mais comment est-elle liée à universite ?

  5. #5
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 76
    Par défaut
    non j'ai commis une erreur de frappe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    e schema : 
    parcour (code_parcour, intitule).
    candidat (num,nom,prenom).
    universite(code_univ,nom_univ).
    postuler (num,code_parcour,code_univ,admis).
    num : le numéro du candidat ou de l'étudiant
    code_univ : l'identifiant de l'uinversité
    code_parcour : identifiant du parcours (ex : parcours de gestion, parcours de comptabilité ...)

    merci

  6. #6
    Membre chevronné Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par défaut
    Quand tu fais comme ça :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT u.nom_univ, p.intitule, po.admis
    from parcour p, candidat c, universite u, postuler po
    where p.code_parcour = po.code_parcour
    and c.num = po.num
    and u.code_univ = c.code_univ
    and c.num = 'x';
    ça ne marche pas ? Dans ce cas, verifie bien le type de num parceque 'x' est une chaîne de caractère, si c'est un int il faut mettre c.num = x. Sinon, verfie que le num x est bien présent dans les deux tables postuler et candidat et de même pour les autres attributs.

Discussions similaires

  1. jointure entre les tables php
    Par programmatrice dans le forum Langage
    Réponses: 9
    Dernier message: 07/04/2012, 14h48
  2. Réponses: 3
    Dernier message: 29/05/2007, 18h03
  3. jointure sur TROIS tables
    Par caribou_belle dans le forum Langage SQL
    Réponses: 8
    Dernier message: 01/03/2004, 11h20
  4. Jointure entre 2 tables et OR
    Par PyRoFlo dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/02/2004, 18h42
  5. Jointure sur 2 tables de bases différentes
    Par Celina dans le forum Langage SQL
    Réponses: 10
    Dernier message: 10/11/2003, 11h56

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