Re: Compter rapidement dans une base externe
pierre laszczak <[email protected]>
| Newsgroups | gmane.comp.web.spip.user |
|---|---|
| Message-ID | <CAKNND-1BSJ+XJVMnBjQgeXntoo6V+QRV6sb=D_5pu9QfZbg=rw@mail.gmail.com> |
Hello,
Tu peux utiliser les fonctions de l'api sql:
[(#VAL{spip_annuaire}|sql_countsel{departement=75,"","",mabaseexterne})]
Stocker dans une var:
[(#SET{count,#VAL{spip_annuaire}|sql_countsel{departement=75,"","",mabaseexterne}})]
#GET{count}
A tester! mais ça doit fonctionner.
Le dim. 21 mars 2021 à 08:41, RealET <[email protected]> a écrit :
> Julien Delmas a écrit le 21/03/2021 à 00:34 :
> > Bonjour à tous,
> Bonjour,
> >
> > J’ai besoin de réaliser des calculs : additionner des nombres présent
> > dans la même colonne d'une table d’une base MySQL externe (quelques
> > milliers de ligne).
> > Je dois réaliser cette opération une cinquantaine de fois. Forcément,
> > c’est long (5 à 10 secondes) donc j’ai mis ces infos dans une div ajax,
> > pour ne la charger que si l’utilisateur en a besoin.
> >
> > Ma boucle ressemble à ça :
> >
> > <BOUCLE_compter_effeleves_public_ecoles(mabaseexterne:annuaire){where
> >
> 'département'=’75'>[(#GET{EFFELEVES_PUBLIC_ECOLES}|plus{#NOMBRE_D_ELEVES}|set{EFFELEVES_PUBLIC_ECOLES})]
> > </BOUCLE_compter_effeleves_public_ecoles>
> >
> >
> > J’ai vu qu’on pouvait faire cela bien plus simplement (et rapidement ??)
> > directement dans la requête SQL, avec quelque chose qui ressemblerait à
> > ça :
> > SELECT SUM(NOMBRE_D_ELEVES) FROM annuaire where 'département'=’75'
> >
> > Savez-vous s’il existe sur SPIP une commande plus efficace qu’une boucle
> > qui tourne 3000 fois pour additionner les valeurs d’un champ ?
> >
> > Sinon, comment intégrer cette fonction SUM de MySQL dans une boucle SPIP
> > sur une base externe ?
> https://contrib.spip.net/Bonux-pour-SPIP3#Balises-et-criteres-de-boucles
>
> ;-)
>
> --
> RealET
>
>
> _______________________________________________
> liste spip
> [email protected] - désabonnement : envoyer un mail à [email protected]
>
> Archives : https://www.mail-archive.com/[email protected]/maillist.html
>
> Infos : https://listes.rezo.net/mailman/listinfo/spip
>
> Documentation de SPIP : http://www.spip.net/
>
> Irc : de l'aide à toute heure : http://spip.net/irc