|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 66 ![]() |
Bonjour,
Je me trouve confronté à un problème un peu embarrassant. Après de nombreuses recherches pour mettre en place ma requête, celle-ci fonctionne mais j'ai du mal à interpréter de manière optimale. Cette requête porte sur 4 tables. Elle dispose toute d'un champ d'identification commun. La voici : Code PHP :
La variable $id me sert à avoir un seul enregistrement unique en réponse à cette requête. Celle-ci fonctionne et m'affiche bien tous les champs de toutes les tables. Je fais un traitement derrière pour envoyer les informations dans un tableau mais quand je veux appeler un champ qui se trouve en dehors de la table T1...c'est vide ! Quelque chose genre : $ligne_req['champ_T2'] est vide alors qu'il présente une valeur dans l'exécution de la requête. Si vous avez une idée du problème, j'avoue que cela m'aiderait car là, je suis dans le flou le plus complet... Merci |
||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : août 2009 Messages : 66 ![]() |
Peux-tu nous donner le code PHP qui exécute ta requête puis tente d'afficher champ_T2 ?
Ce sera probablement plus facile de t'aider d'autant que tu fais un traitement pour envoyer toutes les informations dans un tableau. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 66 ![]() |
Je traite les réponses comme cela :
if (mysql_num_rows($req) > 0) { while ($ligne_req = mysql_fetch_array($req)) { ... Je vérifie la présence d'au moins 1 résultat et je mets le tout dans un tableau. Rien de trop complexe normalement. Sauf que là, ça ne fonctionne pas |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Développeur Web Inscription : avril 2011 Messages : 36 ![]() |
Bonjour,
Cela peut éventuellement venir des noms générés par le sgbd si par exemple t1 et t2 ont toutes les deux un champ nommé libelle. Vérifie bien le nom des colonnes de $ligne_req avec par exemple. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Olivier Développeur Web Inscription : août 2003 Messages : 1 837 ![]() |
Le select * c'est mal
Même si tu as beaucoup de champs c'est pas plus mal de les énuméré avec par exemple un alias spécifique en fonction de la table dont ils dépendent. |
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 66 ![]() |
je regarde vos pistes et je reviens vers vous pour la suite savoir si cela fonctionne
Merci de vous intéresser au problème déjà ! |
|
|
00
|
|
|
#7 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
A tout fin utile, voici comment se servir des alias pour résoudre ce malicieux problème:
Code :
SELECT t1.a t2.a FROM table_1 AS t1 JOIN table_2 AS t2 ON (t1.id=t2.table_1_id);
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
01
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 66 ![]() |
Merci Benjamin (et les autres
C'est désormais plus clair dans ma tête et j'ai pu résoudre ce problème d'écriture de requête. Merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com