Bug d'enchainement de requêtes - 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 : Bug d'enchainement de requêtes (/showthread.php?tid=5120) |
RE: Bug d'enchainement de requêtes - srm - 29-08-2010 Il ne doit pas afficher Peinture, car Peinture dépend de Superpuissance et le pays 1 ne connaît que Théâtre et Archérie. Ce qu'il te renvoie et pour moi normale par rapport à l'énoncé du problème. Il retourne Théâtre qui dépend de Archérie, le pays 1 connaît Archérie : Ok Il retourne Superpuissance qui ne dépend de rien : Ok Il ne retourne pas Peinture qui dépend de Superpuissance, pays 1 ne connaît pas Superpuissance : Ok RE: Bug d'enchainement de requêtes - Hiztaar - 29-08-2010 En fait c'est l'inverse. Théâtre ne dépend de rien et surtout il est déjà possédé : Il ne devrait pas apparaître dans les savoirs à rechercher. Archérie est en cours de recherche et n'apparait pas : ok Peinture ne dépend de rien et doit apparaitre : il n'apparait pourtant pas Superpuissance dépend à la fois d'Archérie et de Peinture. On ne possède pas peinture : Problème, il apparait quand même RE: Bug d'enchainement de requêtes - srm - 29-08-2010 utg_knowledge_links id_knowledge_parent id_knowledge_child 1 2 1 2 4 1 3 4 1 Premier cas, tu dis que le id parent 1 à un id fils 2 donc : que Théâtre est le parent de Archérie. Donc il faut bien avoir Archérie pour avoir le Théâtre. Tu as remplis ton modèle n'importe comment si c'est pas ce que tu voulais dire RE: Bug d'enchainement de requêtes - Hiztaar - 29-08-2010 Ben dans ma tête c'est le child qui dépend du parent. Les parents sont à la racine, les child dépendent des parents précédents. Donc c'est l'Archérie qui dépend du Théâtre <_< > Ce qui n'empêche pas qu'on possède déjà Théâtre et qu'il ne devrait pas apparaitre, dans tous les cas RE: Bug d'enchainement de requêtes - srm - 29-08-2010 Ok soit. Alors tu n'as pas compris ma requête, car tu ne dois pas mettre : SELECT utg_knowledge_links.id_knowledge_parent FROM utg_knowledge_links WHERE utg_knowledge_links.id_knowledge_child Mais : SELECT utg_knowledge_links.id_knowledge_child FROM utg_knowledge_links WHERE utg_knowledge_links.id_knowledge_parent Je te laisse réfléchir et corriger le reste si il y a besoin RE: Bug d'enchainement de requêtes - Hiztaar - 29-08-2010 J'ai donc remplacé les NOT IN par des IN, ça marche beaucoup mieux. Maintenant j'ai une difficulté de boucle. Superpuissance nécessite deux savoirs et la requête n'en prend qu'un en compte. Je suppose que je vais devoir créer un curseur <_< RE: Bug d'enchainement de requêtes - Hiztaar - 29-08-2010 Bon, je cale sur le cas où il y a plusieurs dépendances pour un même knowledge. Pour le reste, la version remaniée fonctionnelle dans le cas d'un seul héritage : Code PHP :
Merci pour l'aide en tout cas ! Mais je crois que le plus dur c'est ce que cette requête ne gère pas :wowowow: RE: Bug d'enchainement de requêtes - srm - 29-08-2010 Je te laisse y réfléchir un peu RE: Bug d'enchainement de requêtes - Hiztaar - 30-08-2010 Je pense avoir réussi à contourner le problème en y allant un peu brutalement. Voici le code : Code PHP :
Je testerai ce soir si ce code fonctionne ^^ RE: Bug d'enchainement de requêtes - Hiztaar - 30-08-2010 Bon allez zou, juste pour le plaisir, j'ai réussi a faire ce que je voulais avec quelques modifications. Je poste pour que ceux qui auraient un jour la même problématique puisse s'en inspirer. Code PHP :
Encore une fois, merci Oxman pour ton aide, j'aurais jamais pu avancer sur la requête d'origine sans toi ^^ |