[RESOLU] Jointures de tables et tableaux associatifs dans une UDT - Version imprimable +- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr) +-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html) +--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html) +--- Sujet : [RESOLU] Jointures de tables et tableaux associatifs dans une UDT (/thread-3871.html) |
[RESOLU] Jointures de tables et tableaux associatifs dans une UDT - nicks - 27/06/2016 Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~ Bonjour, Je rencontre quelques difficultés avec le mode "search" de ListItExtended (ListIt2) (en gros, impossible de rechercher avec les catégories et surtout les résultats me semblent hasardeux avec certains champs que j'ai créé bref, ce n'est pas vraiment le sujet). J'essaie donc dans un premier temps de créer une UDT qui me permettrait de lister chaque "item" de mon listIt. J'ai donc repéré les 6 tables utilisées pour mon instance (que j'ai appelé "ressources"): cms_module_listit2ressources_category (liste les catégories) cms_module_listit2ressources_fielddef (liste les types de champs que j'ai créé) cms_module_listit2ressources_fielddef_opts (liste les options des types de champs créé => je n'utilise pas) cms_module_listit2ressources_fieldval (liste les valeurs des types de champs que j'ai créé) cms_module_listit2ressources_item (liste les différents item (id + titre de l'item)) cms_module_listit2ressources_item_categories (relation entre les items et les catégories). J'essaie donc simplement d'afficher chaque ressource : Son Id, son titre, sa catégorie liée et les différents champs "custom" que j'ai créé avec le couple : clé => valeur). Voici mon UDT contenant ma requête : Code : [== Indéfini ==] Et voilà le résultat qui est retourné : Mon problème est donc le suivant : Je ne voudrai qu'une seule ligne pour l'item avec l'id 328. Ici il en créait autant qu'il y a de champs customs créés (dernière colonne : date, type, langue, source). J'ai pensé utiliser GROUP_CONCAT, mais du coup je n'ai pas l'association nom du champ => valeur, mais tous les noms de champs regroupés ensemble et toutes leurs valeurs regroupées ensemble... Je ne vois pas quel type de requête je dois faire, je pense qu'il faut faire une seconde boucle (qui liste les champs custom : fielddef et fieldval) dans la boucle qui liste les articles? Mais comment? Je regarde les sources de ListIt2 mais je ne suis pas très à l'aise avec les objets du coup j'ai du mal à me repérer. Si quelqu'un à une piste à me donner, ne serait-ce qu'une piste pour faire des recherches google, je suis preneur! Merci [RESOLU] Jointures de tables et tableaux associatifs dans une UDT - nicks - 19/07/2016 J'ai réussi en intégrant simplement une seconde requête dans la boucle : Code : [== PHP ==] Je ne détaille pas plus que ca puisque ca concerne un module qui n'est plus mis à jour sur la v2 de CMSMS, mais si quelqu'un est interessé je peux partager mon UDT complète. Pour rappel l'idée était de créer un formulaire de recherche multi-critères pour ListIt2. (Bien que prévue par le module, je n'ai pas réussi à faire fonctionner correctement cette fonctionnalité, d'où l'UDT). |