Bonjour à tous,
Alors voici mon soucis :
Sur cette page, je souhaite afficher le nom des événements présents dans ma base de données, avec la tournée a laquelle ils sont associés :
<a href="http://www.hostingpics.net/viewer.php?id=840697Sanstitre.png"><img src="http://img4.hostingpics.net/thumbs/mini_840697Sanstitre.png" alt="Heberger image" /></a>
Pour cela, dans ma base j'ai créé plusieurs tables, dont une table "evenement" et une table "tournee" que voici :
<a href="http://www.hostingpics.net/viewer.php?id=752511event.png"><img src="http://img4.hostingpics.net/thumbs/mini_752511event.png" alt="Heberger image" /></a>
<a href="http://www.hostingpics.net/viewer.php?id=989582tournee.png"><img src="http://img4.hostingpics.net/thumbs/mini_989582tournee.png" alt="Heberger image" /></a>
Et voici le schéma relationnel :
<a href="http://www.hostingpics.net/viewer.php?id=289894Sanstitre2.png"><img src="http://img4.hostingpics.net/thumbs/mini_289894Sanstitre2.png" alt="Heberger image" /></a>
Avant d'attaquer le code de la récupération et de l'affichage dans mon tableau, j'ai essyé de faire la requete et de la tester directement sur phpmyadmin et je trouve alors une erreur que voici :
<a href="http://www.hostingpics.net/viewer.php?id=429217Sanstitre.png"><img src="http://img4.hostingpics.net/thumbs/mini_429217Sanstitre.png" alt="Heberger image" /></a>
Je suis donc ici pour vous demander si vous voyez ce qui cloche, parce que ça fait un moment que je bloque dessus...
Merci beaucoup à tous d'avance !
Et non :)
Ici tu fais un équivalent de :
SELECT `tournee`.`nom_tournee` FROM `tournee`
SELECT * FROM `evenement` WHERE `evenement`.id_tournee = '2'
Si tu es novices en SQL, je te conseille le tutoriel sur MySQL. Il faut que tu précises que tu veux faire une jointure entre tes deux tables (les lier).
Pour ce faire tu as le choix:
Cependant je t'alertes sur la seconde notation qui peut être lourde pour le moteur.
Hello,
Oui c'est normal, car il te manque la jointure entre la table tournee et la table evenement, tu n'indique aucune rélation entre les 2 tables.
SELECT `tournee`.`nom_tournee` FROM `tournee`, `evenement` WHERE `evenement`.`id_tournee` = 2 AND `evenement`.`id_tournee` = `tournee`.`id_tournee`
Ici on fait correspondre le champ id_tournee de la table evenement au champ id_tournee de la table tournee
Pour une meilleur lecture de tes tables je te conseil de ne pas nommé les champs de la même façon, renomme ton champ id_tournee de la table evenement en tournee_id par exemple, ca sera plus clair ;)
EDIT : Et oui Thomas Chicheportiche à raison, c'est mieux de faire un INNER JOIN niveau perf ;)
Salut,
Tu essaies de récupérer le champ tournée dans une table dont l'alias ou le nom sera nom_tournee
Essaies tournee.nom_tournee
Bonjour et merci thomas, en effet, ça fonctionne mieux...!
Mais maintenant, une fois cette requête éxécutées :
SELECT `tournee`.`nom_tournee` FROM `tournee`, `evenement` WHERE `evenement`.id_tournee = '2'
Il me retourne le nom de toutes les tournées, alors qu'il devrait me renvoyer uniquement le nom de la tournée ayant comme id ne numéro 2 non ?