CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Sam Nov 23, 2024 6:29 pm

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 6 messages ] 
Auteur Message
MessagePublié: Mer Avr 27, 2011 6:17 pm 
Hors-ligne

Inscrit(e) le : Mar Sep 21, 2010 2:41 pm
Message(s) : 95
Bonjour,

en pur PHP il est facile de faire un SELECT sur une table avec un INNER JOIN sur une autre table pour récupérer une colonne supplémentaire et accompagner tout cela d'un ORDER BY prenant en compte 2 colonnes (ou +) même si ces colonnes ne proviennent pas de la même table.

Je suis confronté actuellement à ce problème avec le POLYMOD.
Y a-t-il moyen d'obtenir le même résultat sur un <atm-search...> ?

Pour la petite histoire, jusqu'à présent les 2 critères de tri du retour de POLYMOD se trouvaient dans le même objet. J'avais donc mis deux <atm-search-order..> l'un en dessous de l'autre dans le script, et tout se passait très bien. Mais finalement cela ne convient pas à mon client qui me demande de déplacer l'un des 2 critères dans un autre objet du POLYMOD (les 2 objets sont en relation l'un l'autre par une colonne du premier objet servant de clé d'accès au deuxième).

Pas cool hein ! :(

Merci d'avance de vos conseils car là je ne sais bien comment m'y prendre.


Patrick.


Haut
 Profil  
 
MessagePublié: Jeu Avr 28, 2011 9:12 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Je n'ai rien compris ...
Peux tu plutôt me dire le résultat que tu aimerai obtenir, ça sera plus clair à partir de quelque chose de concret :)


Haut
 Profil  
 
MessagePublié: Jeu Avr 28, 2011 9:56 am 
Hors-ligne

Inscrit(e) le : Mar Sep 21, 2010 2:41 pm
Message(s) : 95
Ah désolé ! Je reprend.

J'ai un POLYMOD qui s'appelle ' Planifier Formations et Conférences ' et qui contient entre autre 2 objets : 'Planifier formations' et 'Formations'.

Dans Planifier formations, qui permet de planifier une formation en fournissant diverses infos (comme par exemple le nom du formateur...) il y a plusieurs champs et en particulier une Date de formation.
Dans Formations il y a aussi plusieurs champs permettant de décrire la formation et en particulier un champ Type de technique.

Je désire récupérer toutes les éléments contenus dans l'objet Planifier formations et pour chaque élément, récupérer aussi le Type de technique (provenant de l'objet Formations) .

Enfin, j'ai besoin que le résultat de cette recherche soit trié sur Type de technique / Date de formation, dans cet ordre.

Comment faire pour que le tri soit déjà correct à l'issu de la requête <atm-search...> ?

N.B. : auparavant le champ Type de technique se trouvait dans l'objet Planifier formations. Et du coup il me suffisait de placer 2 <atm-search-order..> l'un en dessous de l'autre dans ma rangée de contenu pour que le tri sur Type de technique / Date de formation se passe très bien.
D'où ma problématique de ce jour. :?

Un grand merci si tu peux m'orienter :)


Haut
 Profil  
 
MessagePublié: Jeu Avr 28, 2011 10:17 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
ok, c'est plus clair.

Malheureusement aujourd'hui il n'y a aucun moyen pour faire ça directement avec le polymod.
Tu dois obligatoirement passer par du PHP/SQL.

Je peux t'indiquer comment mais j'ai besoin de savoir :
- Quels sont les identifiants de tes objets Planifier formations et Formations.
- Quels sont les identifiants et les types (date et catégorie ?) de tes champs Date de formation et Type de technique.
- Quel objet lie quel objet (Planifier formations est un sous objet de Formations ou c'est l'inverse ?) et si il s'agit d'une liaison multiple.

Tu trouvera les identifiants demandés ci-dessus dans les panneaux de création de ton module ou bien dans l'aide polymod


Haut
 Profil  
 
MessagePublié: Jeu Avr 28, 2011 11:57 am 
Hors-ligne

Inscrit(e) le : Mar Sep 21, 2010 2:41 pm
Message(s) : 95
OK. Voici les infos que tu souhaites.

- Quels sont les identifiants de tes objets Planifier formations et Formations ?
* planifier formations --> ID : 3
* Formations --> ID : 5

- Quels sont les identifiants et les types (date et catégorie ?) de tes champs Date de formation et Type de technique ?
* Date de formation --> ID : 13 et type de données : Date (dans l'objet Planifier formations)
* Type de technique --> ID : 59 et type de données : Catégories (dans l'objet Formations)

- Quel objet lie quel objet (Planifier formations est un sous objet de Formations ou c'est l'inverse ?) et si il s'agit d'une liaison multiple ?
* en fait je n'ai pas créé ces objets en objet et sous-objet : ce sont 2 objets indépendants mais qui contiennent chacun un champs de type Catégories.
-> Dans l'objet Planifier formations ce champs est nommé Titre du stage
-> Dans l'objet Formations ce champs est nommé La formation
Mais ces 2 champs se réfèrent au titre de la formation

Quand j'ai créé mon POLYMOD je ne maîtrisais pas (c'est toujours pas le cas d'ailleurs !) la technique des sous-objets et liaison multiple. Alors j'ai fait comme indiqué ci-dessus.
J'espère que ce n'est pas trop pénalisant.

Ces infos te conviennent-elles ? Si tu veux d'autres détails pas de problème ! :)


Haut
 Profil  
 
MessagePublié: Ven Avr 29, 2011 11:27 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Mer Juin 15, 2005 8:28 am
Message(s) : 759
Localisation : Sophia Antipolis
Citer:
Quand j'ai créé mon POLYMOD je ne maîtrisais pas (c'est toujours pas le cas d'ailleurs !) la technique des sous-objets et liaison multiple. Alors j'ai fait comme indiqué ci-dessus.
J'espère que ce n'est pas trop pénalisant.


Ha ... :shock: déjà si tu les avait lié en tant que sous objet ça n'aurait pas été simple mais là ça devient carrément ingérable ...
Vu ce que tu me dis, je ne vois pas comment tu peux obtenir le tri que tu demandes, les relations sont trop compliquées pour que je puisse te le faire de tête :( faut que tu trouve une autre solution que ce tri là.


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 6 messages ] 

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Google [Bot] et 69 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr