Bonjour à tous,
Je galère depuis un bon moment sur le problème suivant.
Merci d'avance à celui qui pourra m'aider.
C'est un problème d'affichage des données avec deux champs de même nom dans deux tables différentes.
Les deux tables sont justement liées par ce champ de même nom dans la jointure.
La requête se présente comme ceci :
L'affichage dans une boucle est correct à un détail près.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $requete_metres=$connexion->prepare( 'SELECT * FROM metres_entetes '. 'LEFT JOIN metres_lignes '. 'ON metres_entetes.mte_id = metres_lignes.mte_id '. 'WHERE user_id = :user_id '. 'ORDER BY mte_date_creation DESC' );
Pour chaque enregistrement de la table metres_entetes il peut y avoir n enregistrements dans la table metres_lignes.
Parfois, il n'y a même aucun enregistrement dans cette dernière table.
Et dans ce cas, la valeur du champ mte_id est null (parce que je suppose qu'on me renvoi la valeur de ce champ pris dans la seconde table (alors qu'il a bien une valeur dans la 1ère).
Ma question est donc la suivante :
Comment, dans l'affichage de mes réponses, puise-je préciser dans quelle table je veux que la valeur soit sélectionnée.
J'affiche mes valeurs de cette façon :
Et je cherche à faire un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 while ($donnees_metres = $requete_metres->fetch(PDO::FETCH_OBJ)) { echo $donnees_metres->mte_id.'<br />'; }
Sans avoir à remplacer mon * de la sélection par le nom de chaque champ de cette façon table.champ1, table.champ2, etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $donnees_metres->metres_entetes.mte_id
Merci ;-)
Partager