Re : comment faire : {xxxx IN #GET{groupe_retenus}}

(J'ai effacé le message trop vite, désolé, j'ai cassé le thread)

Bonjour,

je cherche à faire utiliser une variable dans une boucle que j'affecte
en cours de route, vu que l'on ne peut utiliser de variable PHP da

#SET{groupe_retenus,"2,3,4"}
(...)
<BOUCLE_groupe (GROUPES_MOTS){id_groupe IN #GET{groupe_retenus} }>
(...)

ce qui devrait correspondre à :
<BOUCLE_groupe (GROUPES_MOTS){id_groupe IN 2,3,4}>

mais apparement ça fait pas la même chose, quand on regarde le debug,
respectivement :
SELECT FIELD(groupes_mots.id_groupe,'2,3,4') ..............
et.
SELECT FIELD(groupes_mots.id_groupe,2,3,4) ...............

quelqu'un aurait-il une idée ?

merci d'avance,

Essaie peut-être avec #GET{groupe_retenus}* ou #GET*{groupe_retenus} voire en doublant les astérisques, mais ça devient dangereux.

Le 26/10/06, Olivier GENDRIN<o.gendrin@novactive.com> a écrit :

> <BOUCLE_groupe (GROUPES_MOTS){id_groupe IN #GET{groupe_retenus} }>
> (...)

Essaie peut-être avec #GET{groupe_retenus}* ou #GET*{groupe_retenus} voire en doublant les astérisques, mais ça devient dangereux.

pourquoi dangereux ?

merci encore
--
       Sylvain
http://www.guaph.net/

Sylvain a écrit :

Le 26/10/06, Olivier GENDRIN a écrit :

<BOUCLE_groupe (GROUPES_MOTS){id_groupe IN #GET{groupe_retenus} }>
(...)

Essaie peut-être avec #GET{groupe_retenus}* ou #GET*{groupe_retenus} voire en doublant les astérisques, mais ça devient dangereux.

pourquoi dangereux ?

merci encore

Bonjour

Parce qu'il n'y aura plus de filtrage du tout, donc risque d'inclusion malvaillante de code par l'URL?.

C'est vite dit.
Il y a un article dans Spip-contrib je crois qui parle des précautions à utiliser lorsque l'on utilise #ENV.
C'est peut-être dans le même ordre d'idée.

A bientôt
Grégoire

Olivier GENDRIN <o.gendrin <at> novactive.com> writes:

> #SET{groupe_retenus,"2,3,4"}
> (...)
> <BOUCLE_groupe (GROUPES_MOTS){id_groupe IN #GET{groupe_retenus} }>
> (...)
>

cette syntaxe attend que #GET soit un array, ce qui est pas trivial comme
utilisation.
Ca peut se faire en faisant #SET{groupe_retenus,#EVAL{array(2,3,4)}} en
attendant mieux
Mais il faudrait accepter les listes separees par des virgules, ca serait plus
sympatique et intuitif.

Cedric

Le 28/10/06, cedric<cedric@yterium.com> a écrit :

Ca peut se faire en faisant #SET{groupe_retenus,#EVAL{array(2,3,4)}} en
attendant mieux

ok quand c'est écrit "en dur" dans le squelette ça marche ...

mais je pensais (sans trop y croire) affecter comme ceci :
#SET{groupe_retenus,#EVAL{array(<BOUCLE_select_mots(MOTS){id_rubrique}{","}>#ID_GROUPE</BOUCLE_select_mots>)}}

pour ensuite réutiliser plus bas (dans plusieurs boucles) :
<BOUCLE_entete_tableau_groupes(GROUPES_MOTS){id_groupe IN #GET{groupe_retenus}}>

mais non ... une idée ?
--
    Sylvain
-----------------------------
http://www.guaph.net/ (perso)
http://www.m1i.fr/ (boulot)
... dodo :wink: