Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/
Merci
ADB
Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/
Merci
ADB
* ADB tapuscrivait, le 12/05/2010 08:29:
Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/
-- RealET
Le 12 mai 2010 à 15:18, RealET a écrit :
* ADB tapuscrivait, le 12/05/2010 08:29:
Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/-- RealET
additionner ou concaténer ? dans le premier cas, tu as le filtre "plus" et, dans le second, le filtre "concat"
Salut,
Une nouvelle balise #SOMME du genre :
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count()?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}
(non testée...)
Pat
Le 12/05/2010 08:29, ADB a écrit :
Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/Merci
ADB
Bonsoir
Merci.
A la lecture de la définition du filtre, j'avais cru comprendre qu'il ne pouvait y avoir qu'un élément d'ajouté à la balise appelante.
Me trompé-je?
ADB
Message du 12/05/10 15:30
De : "pascal weber"
A : "liste SPIP"
Copie à :
Objet : Re: [Spip] AdditionsLe 12 mai 2010 à 15:18, RealET a écrit :
> * ADB tapuscrivait, le 12/05/2010 08:29:
>> Bonjour
>> Comment faire pour additionner plusieurs valeurs de champs ?
>> Par exemple :
>> #ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/
> |plus - SPIP
>
> -- RealET
>additionner ou concaténer ? dans le premier cas, tu as le filtre "plus" et, dans le second, le filtre "concat"
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.netInfos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.netDocumentation de SPIP : http://www.spip.net/
Irc : de l'aide à toute heure : http://spip.net/irc
Comme quoi, il vaut mieux tester avant de gloser ![]()
Voici la fonction :
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}
Tests OK :
#SOMME{1,2,3}
[(#SOMME{[(#VAL{2}|plus{3})],10,100})]
Pa
Le 12/05/2010 16:17, Pat a écrit :
Salut,
Une nouvelle balise #SOMME du genre :function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count()?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}(non testée...)
PatLe 12/05/2010 08:29, ADB a écrit :
Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/Merci
ADB
Bonjour,
Tu parles du filtre |plus ? Ou du filtre |concat ?
Pour |plus, tu peux jouer avec un couple #SET/#GET… Il y a eu un message de ce genre sur la liste. Faudrait qu’on retrouve ça dans les archives.
Le 12 mai 2010 16:56, Arnaud DUPIN DE BEYSSAT <a.adupinbe@orange.fr> a écrit :
Bonsoir
Merci.
A la lecture de la définition du filtre, j’avais cru comprendre qu’il ne pouvait y avoir qu’un élément d’ajouté à la balise appelante.
Me trompé-je?
ADBMessage du 12/05/10 15:30
De : « pascal weber »A : « liste SPIP »
Copie à :
Objet : Re: [Spip] AdditionsLe 12 mai 2010 à 15:18, RealET a écrit :
- ADB tapuscrivait, le 12/05/2010 08:29:
Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/
http://www.spip.net/fr_article4307.html#plus– RealET
additionner ou concaténer ? dans le premier cas, tu as le filtre « plus » et, dans le second, le filtre « concat »
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.netInfos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/Documentation de SPIP : http://www.spip.net/
Irc : de l’aide à toute heure : http://spip.net/irc
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.netInfos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/Documentation de SPIP : http://www.spip.net/
Irc : de l’aide à toute heure : http://spip.net/irc
Bonsoir
Ca c'est bien tentant, mais je ne saurai pas le
débuguer si ça ne fonctionne pas, et je ne sais déjà pas où l'enregistrer.
Je suis resté sur mes bases de 1.8.2 et je travaille maintenant en 2.1 !!!
Merci
ADB
> > Message du 12/05/10 16:15
> > De : "Pat"
>
> > A : spip@rezo.net
> > Copie à :
> > Objet : Re: [Spip] Additions
> >
> >
> > Salut,
> > Une nouvelle balise #SOMME du genre :
> >
> > function balise_SOMME_dist($p) {
> > $n = 1;
> > $_code = array();
> > while ($_v = interprete_argument_balise($n++, $p))
> > $_code = $_v;
> > $p->code = count()?'('.join(' + ',$_code).')':'0';
> > $p->interdire_scripts = false;
> > return $p;
> > }
> >
> > (non testée...)
> > Pat
> >
> > Le 12/05/2010 08:29, ADB a écrit :
> > > Bonjour
> > > Comment faire pour additionner plusieurs valeurs de champs ?
> > > Par exemple :
> > >
> #ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/
> > >
> > >
> > > Merci
> > >
> > > ADB
> > >
> > >
> >
> > _______________________________________________
> > liste spip
> > spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
> >
> > Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
> > Discuter chez rezo.net
> >
> > Documentation de SPIP : http://www.spip.net/
> >
> > Irc : de l'aide à toute heure : http://spip.net/irc
> >
> >
Bonsoir
Du filtre Plus.
Je cite:
"Le filtre |plus{xx} est un filtre d’opérations mathématiques.
Il retourne le résultat de l’addition (la somme) de la valeur de la balise et xx."
Donc pour moi, ce ne peut être que l'addition de deux nombres.
ADB
Message du 12/05/10 17:37
De : "TeddyP SPIP"
A : "Arnaud DUPIN DE BEYSSAT"
Copie à : "pascal weber"
, "liste SPIP"
Objet : Re: [Spip] Additions
Bonjour,
Tu parles du filtre |plus ? Ou du filtre |concat ?
Pour |plus, tu peux jouer avec un couple #SET/#GET... Il y a eu un message
de ce genre sur la liste. Faudrait qu'on retrouve ça dans les archives.Le 12 mai 2010 16:56, Arnaud DUPIN DE BEYSSAT a écrit
:> Bonsoir
> Merci.
> A la lecture de la définition du filtre, j'avais cru comprendre qu'il ne
> pouvait y avoir qu'un élément d'ajouté à la balise appelante.
> Me trompé-je?
> ADB
>
>
> > Message du 12/05/10 15:30
> > De : "pascal weber"
>
> > A : "liste SPIP"
> > Copie à :
> > Objet : Re: [Spip] Additions
> >
> >
> >
> > Le 12 mai 2010 à 15:18, RealET a écrit :
> >
> > > * ADB tapuscrivait, le 12/05/2010 08:29:
> > >> Bonjour
> > >> Comment faire pour additionner plusieurs valeurs de champs ?
> > >> Par exemple :
> > >>
> #ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/
> > > |plus - SPIP
> > >
> > > -- RealET
> > >
> >
> > additionner ou concaténer ? dans le premier cas, tu as le filtre "plus"
> et, dans le second, le filtre "concat"
> >
> > _______________________________________________
> > liste spip
> > spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
> >
> > Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
> > Discuter chez rezo.net
> >
> > Documentation de SPIP : http://www.spip.net/
> >
> > Irc : de l'aide à toute heure : http://spip.net/irc
> >
> >
>
>
> _______________________________________________
> liste spip
> spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net
>
> Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
> Discuter chez rezo.net
>
> Documentation de SPIP : http://www.spip.net/
>
> Irc : de l'aide à toute heure : http://spip.net/irc
>
Je confirme que la fonction plus() n'additionne QUE 2 nombres.
Pat
Le 12/05/2010 17:46, Arnaud DUPIN DE BEYSSAT a écrit :
Donc pour moi, ce ne peut être que l'addition de deux nombres.
ADB
Et si tu tentais ? (jamais testé)
plus{xx|plus{yy|plus{zz}}}
Arnaud DUPIN DE BEYSSAT a écrit :
Alors, j'ai créé un fichier mes_fonctions.php dans mon rép squelettes. Avec ce code:
?php
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}
?
Mais ça me plante le site. ???
Autre question là-dessus:
Grâce à cette fonction, pourrais-je alors faire:
#SOMME{#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5}
Merci
ADB
Le 12/05/2010 16:58, Pat a écrit :
Comme quoi, il vaut mieux tester avant de gloser
Voici la fonction :
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}Tests OK :
#SOMME{1,2,3}
[(#SOMME{[(#VAL{2}|plus{3})],10,100})]
Rajoutes un < au début et un > à la fin
<?php
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}
? >
ADB a écrit :
Alors, j'ai créé un fichier mes_fonctions.php dans mon rép squelettes. Avec ce code:
?php
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}
?Mais ça me plante le site. ???
Autre question là-dessus:
Grâce à cette fonction, pourrais-je alors faire:
#SOMME{#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5}Merci
ADBLe 12/05/2010 16:58, Pat a écrit :
Comme quoi, il vaut mieux tester avant de gloser
Voici la fonction :
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}Tests OK :
#SOMME{1,2,3}
[(#SOMME{[(#VAL{2}|plus{3})],10,100})]_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.netInfos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.netDocumentation de SPIP : http://www.spip.net/
Irc : de l'aide à toute heure : http://spip.net/irc
Le 12/05/2010 18:44, ADB a écrit :
Mais ça me plante le site. ???
Cette phrase est trop vague pour une réponse...
Grâce à cette fonction, pourrais-je alors faire:
#SOMME{#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5}
Oui !
Pat
Avec des BOUCLE, #SET, #GET, POUR et le filtre PLUS il y a quelques outils à dispo.
S'il s'agit simplement d'additionner qqs valeurs il suffit d'enchaîner les filtres :
[(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n})] il me semble ?
Bonsoir
Merci.
A la lecture de la définition du filtre, j'avais cru comprendre qu'il ne pouvait y avoir qu'un élément d'ajouté à la balise appelante.
Me trompé-je?
ADBMessage du 12/05/10 15:30
De : "pascal weber"A : "liste SPIP"
Copie à :
Objet : Re: [Spip] AdditionsLe 12 mai 2010 à 15:18, RealET a écrit :
* ADB tapuscrivait, le 12/05/2010 08:29:
Bonjour
Comment faire pour additionner plusieurs valeurs de champs ?
Par exemple :
#ADDITION/#L_R3_T_1,#L_R3_T_2,#L_R3_T_3,#L_R3_T_4,#L_R3_T_5,#L_R3_T_6,#L_R3_T_7,#L_R3_T_8,#L_R3_T_9/-- RealET
additionner ou concaténer ? dans le premier cas, tu as le filtre "plus" et, dans le second, le filtre "concat"
__
Oui, oui, je les ai enlevées pour le mail.
Mais ça me fait une page blanche immédiatement.
Ne serait-ce pas dû au php dans la page?
J ne comprends pas...
ADB
Le 12/05/2010 18:54, Jean-Christophe Villeneuve a écrit :
<?php
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}
? >
pas de ligne vide ou d'espace avant et après les chevrons ?
ADB a écrit :
Oui, oui, je les ai enlevées pour le mail.
Mais ça me fait une page blanche immédiatement.
Ne serait-ce pas dû au php dans la page?
J ne comprends pas...
ADBLe 12/05/2010 18:54, Jean-Christophe Villeneuve a écrit :
<?php
function balise_SOMME_dist($p) {
$n = 1;
$_code = array();
while ($_v = interprete_argument_balise($n++, $p))
$_code = $_v;
$p->code = count($_code)?'('.join(' + ',$_code).')':'0';
$p->interdire_scripts = false;
return $p;
}
? >
Super, c'est excellent.
Merci
Maintenant, puis-je écrire quelque chose comme cela:
#SET{retour,(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n})
#GET{#L_R3|moins{retour}}
Pour soustraire de L_R3 la valeur de l'addition?
Merci
ADB
Le 12/05/2010 19:04, pascal weber a écrit :
[(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n})]
J'ai trouvé. Il faut écrire:
#SET{aller,(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n)}
#SET{retour,#L_R3|moins{(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n)}}
#GET{retour}
Mais pourquoi je ne peux pas écrire:
#SET{aller,(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n)}
#SET{retour,(#L_R3|moins{aller})}
#GET{retour}
ADB
Le 13/05/2010 15:20, ADB a écrit :
Super, c'est excellent.
MerciMaintenant, puis-je écrire quelque chose comme cela:
#SET{retour,(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n})
#GET{#L_R3|moins{retour}}Pour soustraire de L_R3 la valeur de l'addition?
Merci
ADB
Bon, alors il faut écrire:
#SET{aller,(#ADDITION|plus{#L_R3_T_1}|plus{#L_R3_T_2}| ... |plus{#L_R3_T_n)}
#SET{retour,#L_R3|moins{#GET{aller}}}
#GET{retour}
Merci infiniment à Pascal Weber pour son orientation
ADB