[Zope] how to accumulate data using ZPT

Tino Wildenhain tino at wildenhain.de
Fri May 20 05:29:04 EDT 2005


Am Freitag, den 20.05.2005, 09:52 +0100 schrieb Hugo Ramos:
> Yellow,
> 
> What DBMS are you using??? MySQL???
> If so just have a sql method do this:
> ==========
> SELECT COUNT( '*' )  AS total
> FROM yourtable
> ==========

Are you sure about the ' '? looks strange.

> Then call the variable total where you need it!
> 
> Regards
> hr
> 
> 
> On 5/20/05, prabuddha ray <buddharay at gmail.com> wrote:
> > I've this report wherein i've to print the column total iin last row.
> > column values are from database.
> > so far I'm a total loss. do i need to have cookies to store this total?

simplest solution if you need the data anyway:
a python script where you do the zsql method

results=context.whateverZSQLMethod(args...)

return context.yourPageTemplate(results=results,count=len(results))

and use

tal:content="options/count" in the template where you need count.
If its a sum you need, just work over your resultset or use a separate
query. 

Easiest to work over result set (especially if the select is costy)


results=context.whateverZSQLMethod(args...)

total=0
for item in results:
   if item.value: # this handles the case of nulls
       total+=item.value

and use the total as argument:

return context.yourPageTemplate(results=results,
                                count=len(results),
                                total=total)


-- 
Tino Wildenhain <tino at wildenhain.de>



More information about the Zope mailing list