[RESOLU] probleme avec une requete join

Eléphanteau du PHP | 10 Messages

17 avr. 2015, 10:33

Bonjour à tous et merci de lire ce message,

Voila mon soucis : je dois récupéré des données d'une base à l'aide d'une jointure et les afficher dans une page
seulement je ne sais pas comment afficher le résultat et je n'ai rien trouvé de réellement similaire sur le net.

Voila mon code :
//Connexion à la bdd
$conn_objet_perdu = mysqli_connect('localhost', 'root', '', 'bdd_objet');
//Requête qui fonctionne (testé sous phpmyadmin) :
$requete = "select ob.identifiant,ty.libelle,co.libelle from objet as ob
join type as ty where ob.type = ty.id_type
join couleur as co where ob.couleur = co.id_couleur";

$resultat = mysqli_query($conn_objet_perdu,$requete);
// voila ma fonction actuelle qui ne fonctionne que pour les requêtes simples, sans jointure :

foreach ($resultat as $ligne) {

foreach ($ligne as $valeur){

echo $valeur." ";

}
}
}

Mammouth du PHP | 571 Messages

17 avr. 2015, 11:57

bonjour,

Remplaces la clause WHERE par ON afin de spécifier les colonnes jointes

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 avr. 2015, 11:58

Hello,

Il n'y a aucune différence pour php entre une requête avec jointure ou une requête sans jointure. La requête est exécutée par le moteur de base de données et retourne les différentes colonnes demandées, que celles-ci proviennent d'une seule table ou de trois :)

Le code à utiliser pour parcourir les résultats de ta requête est donc rigoureusement le même.

Si celui-ci ne fonctionne pas, c'est que ta requête ne te retourne pas les bons résultats. As-tu essayé d'exécuter ta requête directement sur ta base de données pour vérifier les résultats retournés ? Est-ce que celle-ci génère des erreurs ?

Edit : bon ben voilà, à vouloir tout expliquer, je me suis fait griller par Yann :p
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 10 Messages

17 avr. 2015, 12:58

merci beaucoup !
quel faute bête ! olala ^^

Eléphanteau du PHP | 10 Messages

17 avr. 2015, 14:16

Cependant , il me reste un soucis lors de l'affichage, je n'ai que deux colonne au lieu de trois (il ne prend pas en compte le champs du milieu soit : ty.libelle )
auriez vous une idée de où cela pourrait venir ?