Somme des données numériques d'un champ

Bonjour,

Je souhaiterais afficher la somme des données numériques du champ supplémentaire #DISTANCE de la table spip_articles pour avoir le kilométrage total des circuits VTT proposés sur mon site.

J’ai cherché du côté d’une boucle récursive avec le filtre |plus mais ça boucle en rond… Quelqu’un à une solution ?

Benjamin Farrudja
Webmaster
http://www.vtopo.fr

Benjamin Farrudja a écrit :

Je souhaiterais afficher la somme des données numériques du champ
supplémentaire #DISTANCE de la table spip_articles pour avoir le kilométrage
total des circuits VTT proposés sur mon site.

#SET{total,0}
<BOUCLE_a(ARTICLES){critères..}>
   [(#SET{total, #GET{total}|plus{#DISTANCE}})]
   ...
</BOUCLE_a>
   ...
</B_a>
total distance parcourue : #GET{total}
...

Le 4 septembre 2009 19:32, denisb <denisb@laposte.net> a écrit :

Benjamin Farrudja a écrit :

Je souhaiterais afficher la somme des données numériques du champ
supplémentaire #DISTANCE de la table spip_articles pour avoir le kilométrage
total des circuits VTT proposés sur mon site.

#SET{total,0}
<BOUCLE_a(ARTICLES){critères…}>
[(#SET{total, #GET{total}|plus{#DISTANCE}})]

</BOUCLE_a>

</B_a>
total distance parcourue : #GET{total}

Ca marche donc un grand merci ! Par contre je n’ai pas compris comment ça fonctionne… Si tu as 5 min pour expliquer, ça permettrait de réutiliser la technique. Merci de toutes façons.

Benjamin Farrudja a écrit :

Le 4 septembre 2009 19:32, denisb <denisb@laposte.net> a écrit :

Benjamin Farrudja a écrit :

Je souhaiterais afficher la somme des données numériques du champ
supplémentaire #DISTANCE de la table spip_articles pour avoir le kilométrage
total des circuits VTT proposés sur mon site.

#SET{total,0}
<BOUCLE_a(ARTICLES){critères…}>
[(#SET{total, #GET{total}|plus{#DISTANCE}})]

</BOUCLE_a>

</B_a>
total distance parcourue : #GET{total}

Ca marche donc un grand merci ! Par contre je n’ai pas compris comment ça fonctionne… Si tu as 5 min pour expliquer, ça permettrait de réutiliser la technique. Merci de toutes façons.


---

  

allez je me lance

#SET{total,0}
initialise une variable « total » à la valeur 0

à chaque passage de la boucle
[(#SET{total, #GET{total}|plus{#DISTANCE}})]
fait passer le valeur de « total » à la valeur 0 + #DISTANCE au premier passage et le stocke dans « total »
puis rajoute #DISTANCE à chaque passage

#GET{total}
affiche la valeur de « total » après le dernier passage dans la boucle

grosso modo, pour chaque passage dans la boucle, on fait :

total = total + distance

#SET{total
permet de definir le contenu de la variable 'total'

#GET{total}
indique qu'on prend la valeur deja presente dans total

|plus{#DISTANCE}
et on y ajoute le contenu de #DISTANCE

j'sais pas comment expliquer plus/mieux :slight_smile:

Chag

Benjamin Farrudja a écrit :

Le 4 septembre 2009 19:32, denisb <denisb@laposte.net <mailto:denisb@laposte.net>> a écrit :

    Benjamin Farrudja a écrit :

        Je souhaiterais afficher la somme des données numériques du champ
        supplémentaire #DISTANCE de la table spip_articles pour avoir le
        kilométrage
        total des circuits VTT proposés sur mon site.

    #SET{total,0}
    <BOUCLE_a(ARTICLES){critères..}>
     [(#SET{total, #GET{total}|plus{#DISTANCE}})]
     ...
    </BOUCLE_a>
     ...
    </B_a>
    total distance parcourue : #GET{total}
    ...

Ca marche donc un grand merci ! Par contre je n'ai pas compris comment ça fonctionne... Si tu as 5 min pour expliquer, ça permettrait de réutiliser la technique. Merci de toutes façons.

------------------------------------------------------------------------

_______________________________________________
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

--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)

Le 04/09/2009 18:38, Benjamin Farrudja a écrit :

Bonjour,

Je souhaiterais afficher la somme des données numériques du champ
supplémentaire #DISTANCE de la table spip_articles pour avoir le
kilométrage total des circuits VTT proposés sur mon site.

Tu as eu une solution, je t'en donne une autre avec le plugin SPIP Bonux :

/** Critere {somme champ} #SOMME{champ} */

<BOUCLE_a(ARTICLES){somme distance}></BOUCLE_a>
#SOMME{distance}
</B_a>

Pour info, bonux en a tout plein des cachées comme ça :
'somme', 'compte', 'moyenne', 'minimum', 'maximum',

Et même un critère pour calculer tous en même temps :
/** Critere {stats champ} calcul la totale : somme, compte, minimum, moyenne, maximum */

--
MM.

Merci pour les explications de la première solution, ça m’explique pourquoi je n’arrivais pas à le faire avec ma méthode.

Je vais tester la méthode avec bonux, vu que je l’ai installé pour médiathèque…