Probleme INNER JOIN avec 3 tables [Résolu]

Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
- - Dernière réponse : shadowfox666
Messages postés
68
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012
- 27 janv. 2009 à 15:57
Bonjour amis CSistes.

Je vous appelle aujourd'hui, car j'ai un probleme vraiment bête, mais je ne trouve pas le bon raisonnement qu'il faudrait avoir.

J'ai 3 tables : trombi, event, et evenement :

- trombi (id, nom, prenom)
- evenement (id_evenement, lieu, date)
- event (id_eve, id, id_evenement)

Dans ma page d'affichage d'un evenement en particulier, je souhaite faire afficher les participants.

Voici donc ma requete :


<?php $query "SELECT * FROM trombi INNER JOIN event ON (trombi.id event.id) INNER JOIN evenement ON (evenement.id_evenement = event.id_evenement)" ; 
   $result = mysql_query($query) or die ("Lecture des demandes impossible jointure

");
  $nb_result = mysql_num_rows($result); ?>




Mon probleme est que soit le message d'erreur "Lecture des demandes impossible jointure apparait, soit il m'affiche carrement tous les enregistrement qu'il y a eu dans la table event.
Ou est-ce que je me trompe dans le raisonnement ?"

Merci de votre aide
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
68
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012
3
Merci
Pour les erreurs de syntaxe fais afficher ta requête à l'aide d'un echo en PHP tu devrais arriver à visualiser plus facilement d'où vient le problème.

NIRVANA is never enough ! It's in the spirit !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 132 internautes nous ont dit merci ce mois-ci

Commenter la réponse de shadowfox666
Messages postés
68
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
8 mars 2012
0
Merci
Bonjour
A la place de :
or die ("Lecture des demandes impossible jointure

");
Met :
or die(mysql_error());

dans ton code à la place du texte et dis nous ce qui est renvoyé.

NIRVANA is never enough ! It's in the spirit !
Commenter la réponse de shadowfox666
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
0
Merci
Tiens, je ne connaissais pas cette astuce...

Il me marque maintenant
Column 'id' in field list is ambiguous



Je comprends le message, mais est-ce qu'il y a une autre solution que de modifier ma BDD et toutes mes fonctions reprennant le champ id ?
Commenter la réponse de cs_christuckers
Messages postés
75
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 mars 2010
0
Merci
Je viens de legerement modifier ma requete :




<?php $query = "SELECT * FROM trombi WHERE id_evenement='$id_evenement' INNER JOIN event ON (trombi.id = event.id) INNER JOIN evenement ON (evenement.id_evenement = event.id_evenement)" ; 
   $result = mysql_query($query) or die (mysql_error());
  $nb_result = mysql_num_rows($result); ?>





Cette fois ci le message d'erreur est :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN event ON (trombi.id = event.id) INNER JOIN evenement ON (eve' at line 1

Ce qui me surprend, car j'utilise déjà la fonction INNER JOIN dans une autre page (mais uniquement avec 2 tables) et sans aucun probleme...
Commenter la réponse de cs_christuckers