Probleme INNER JOIN avec 3 tables

Résolu
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010 - 27 janv. 2009 à 14:18
shadowfox666 Messages postés 64 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
A voir également:

4 réponses

shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012
27 janv. 2009 à 15:57
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 !
3
shadowfox666 Messages postés 64 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 8 mars 2012
27 janv. 2009 à 14:56
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 !
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
27 janv. 2009 à 15:11
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 ?
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
27 janv. 2009 à 15:23
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...
0
Rejoignez-nous