You are here: Re: [SMARTY] section sum of numbers... « Smarty Templates Posts « IT news, forums, messages
Re: [SMARTY] section sum of numbers...

Posted by Jochem Maas on 07/25/05 15:35

just saw your reply, just wanted to complement you on the rather
elegant example/snippet... it definitely has me thinking about new ways
of doing things / looking at problems (especially regarding Smarty)

:-)

now to look up your 'more generalized reporting tool'

rgds,
Jochem

boots wrote:
> If you don't feel like building a bunch of objects to get simple sums
> from normal recordsets you may enjoy this cheeky solution:
>
> Define the following function (you can delcare it as a modifier if you
> wish, but it is not necessary to do so):
>
> function sum_records($v=0, $k=0, $key=null)
> {
> static $a=0;
> if ($key == null) {
> $b = $a;
> $a = 0;
> return $b;
> } else {
> $a += $v[$key];
> }
> }
>
> and assume that $data is an array of records. Then to sum for a given
> field (say 'year' and 'sales') in the template:
>
> {$data|@array_walk:'sum_records':'year'|sum_records}
> {$data|@array_walk:'sum_records':'sales'|sum_records}
>
> You can hide some of the details by creating a proper modifier, perhaps
> ending with: {$data|@sum_on:'year'} but I will leave that as a trivial
> excercise :)
>
> I think I would like the Iterator approach more if ArrayAccess was also
> implemented; I'm not big on using property notation for fields in
> templates but I guess that's just me :)
>
> FWIW, awhile ago I posted a more generalized reporting tool at the
> forum though it is presently being upgraded so as to be more OOP like
> in the backend while hopefully remaining template like in the
> front-end. In the meantime, it works well enough to solve simpler cases
> like this and also provide in-template sorting, etc.
>
> xo boots


.....

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация