Jointure et variable du meme nom [réglé] [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 07-01-2015 à 12:27:42
Faut renommer les champs dans la partie "SELECT" :
SELECT a.prenom prenom, b.couleur couleur_yeux, c.couleur couleur_cheveux FROM membre a |
Et tu récupère tes champs nommés :
- prenom
- couleur_yeux
- couleur_cheveux
Marsh Posté le 07-01-2015 à 12:41:15
Bonjour MrBebert
Merci pour ton aide c'est bien ça
Tu as résolu mon probleme
Marsh Posté le 07-01-2015 à 12:15:10
Bonjour,
J'ai un petit soucis je n'arrive pas a afficher mes résultats car certains noms de champs sont identiques.
J'ai 3 tables :
- Une table Membre :
id | prenom | id_yeux_couleur | id_cheveux_couleur
exemple : 1 | bertrand | 2 | 4
- Une table yeux_couleur :
id | couleur
exemple : 2 | bleus
- Une table cheveux_couleur :
id | couleur
exemple : 4 | roux
Je souhaite donc afficher Bertrand, roux aux yeux bleus
$sql = "SELECT * FROM membre a
JOIN cheveux_couleur b ON a.id_cheveux_couleur = b.id
JOIN yeux_couleur c ON a.id_yeux_couleur = c.id
WHERE a.id = '$id_membre' ";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_array($req))
{
$prenom = $data['prenom'];
$couleur = $data['couleur'];
echo "Je m'appelle $prenom, je suis $couleur aux yeux $couleur";
}
En fait je ne sais pas comment faire distinguer la variable du meme nom pour les résultats de la jointure.
Il faudrait, probablement, quelque chose de la sorte :
$couleur_yeux = $data['b.couleur'];
$couleur_cheveux = $data['c.couleur'];
Merci d'avance pour votre aide
Message édité par tomware le 07-01-2015 à 12:41:31