Probleme pour récupérer des infos dans plusieurs tables - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Probleme pour récupérer des infos dans plusieurs tables (/showthread.php?tid=1999) Pages :
1
2
|
Probleme pour récupérer des infos dans plusieurs tables - Ogham - 10-11-2007 Bonjour, voilà je bute sur un problème, surement une erreur de débutant mais j'y arrive pas alors voilà: j'ai besoin de récupérer des infos dans plusieurs tables et de les mettre en relation la premiere: localisation id nom x y la seconde ressources id id_cite (qui correspond au id de la première table) ressource donc j'arrive sans problème a afficher le contenue des chacune de ces tables à l'aide d'une boucle while. Par contre je voudrais pour chaque lieu afficher les ressources correspondantes et là ça bloque j'ai essayé d'imbriquer la seconde boucle dans la première comme ça: Code PHP :
ben ça marche pas, ça affiche la première entrée de la table et les ressources correspondantes mais c'est tout. donc à force de tourner en rond je me dis que ça ne doit pas être la bonne méthode. pourriez vous m'expliquer comment procéder pour arriver à faire ce que je veux s'il vous plait merci ? RE: Probleme pour récupérer des infos dans plusieurs tables - Plume - 10-11-2007 Oulaaaa !!!! Tu vas te faire appeler Art... rraaaah m'énerve l'aut' à s'appeler comme ça ! Bref, tu vas te faire engueuler ! On ne met JAMAIS de requêtes dans une boucle, malheureux !! J'te conseille de jeter un oeil aux jointures. Passe un peu de temps à potasser cette nouvelle chose, ça va t'être super utile ! Et pour info, c'est normal que ça ne marche pas. On a d'abord : $retour=mysql_query( "SELECT * FROM localisation "); Puis : $retour=mysql_query( "SELECT * FROM ressources WHERE id_cite=$id "); Faudrait des noms de variables différents. Pareil pour $donnees. RE: Probleme pour récupérer des infos dans plusieurs tables - Ogham - 10-11-2007 se fait tout petit ... savais bien que c'était pas correcte Merci LexLxUs ,j'étais justement en train de fouiner de ce côté là (les jointures) mais j'avoue que je patauge un peu dans la semoule j'ai essayé plusieurs bouts de codes sans succés. le problème c'est que j'ai besoin de récupérer la variable id de la première table pour trouver les infos correspondantes dans la seconde et ce pour chaque entrée de la table puisque je veux les afficher toutes donc il me faut une boucle .... euh je suis pas sur d'être très clair ... je continue à chercher et si quelqu'un a quelque chose à suggérer pour m'aider je suis preneur. repasse vous voir d'ici peu. merci[/i] RE: Probleme pour récupérer des infos dans plusieurs tables - Plume - 10-11-2007 J'ai bien compris ce que tu veux & j'confirme. La solution est les jointures. Lex. RE: Probleme pour récupérer des infos dans plusieurs tables - Sephi-Chan - 10-11-2007 Ce modeste tutoriel que j'ai fais il y a quelques temps pourra peut-être t'aider à comprendre les jointures par son exemple simple. Tutorial : Les jointures avec MySQL Sephi-Chan RE: Probleme pour récupérer des infos dans plusieurs tables - Plume - 10-11-2007 Les tutos sur les jointures ne manquent franchement pas. Même pas besoin de se fatiguer dans de longues recherches. RE: Probleme pour récupérer des infos dans plusieurs tables - Ogham - 10-11-2007 Bonjour, Merci Sephi-Chan, j'y ai jeté un oeil attentif et je pense avoir compris le procédé. Donc mon code actuel donne ça: Code PHP :
ce qui m'affiche cité1 =>ressource1 cité2 =>ressource 2 cité2=>ressource1 cité2=>ressource2 cité2=>ressource3 etc un léger mieux donc mais je ne sais pas comment faire pour afficher mes infos de cette manière: cité1=> ressource1 ressource2 cité2 => ressource1 resource2 ressource3. Ces infos sont destinés à être affichées dans une infos bulle (en css et sans javascript) qui s'affiche sur ma carte au passage de la souris sur la cité. Le code de l'info bulle ressemble à ça pour le moment: Code PHP :
Pas très propre donc, mais ce n'est qu'un test. des suggestions pour ce problème de présentation ? RE: Probleme pour récupérer des infos dans plusieurs tables - Sephi-Chan - 10-11-2007 Oui, c'est la difficulté dans l'utilisation des jointures : n'afficher que ce que tu veux. Pour cela, tu dois utiliser une technique que voici : Code PHP :
Voici ce que donnera la boucle : Si le nom que l'on parcours actuellement est différent du nom d'élément actuel (initialement une valeur nulle) : on lui donne cette valeur. Cela a lieu quand on passe de Null à Cité 1, puis de Cité 1 à Cité 2. Dans tous les cas, on affiche le nom de la ressource. C'est un poil plus compliqué si tu génères une liste, car il faut prévoir l'ouverture de la liste et sa fermeture. Sephi-Chan RE:[REGLE] Probleme pour récupérer des infos dans plusieurs tables - Ogham - 10-11-2007 Merci beaucoup pour ton aide Sephi-Chan, je devrais maintenant arriver à faire ce que je veux avec ça. Et je repasserais me présenter plus longuement d'ici peu, il est bien utile et agréable ce forum RE: Probleme pour récupérer des infos dans plusieurs tables - Ogham - 10-11-2007 Excusez moi pour pour le flood mais ... "Votre problème est réglé ? N'oubliez pas d'ajouter le TAG [Réglé] au début de votre « Titre du message » !" Comment faire ça je ne trouve pas ?? |