[Zope] Building tables from a db in dtml...
Martijn Pieters
mj@digicool.com
Sun, 27 Feb 2000 09:53:53 +0100
From: <jiva@devware.com>
> So, I want to generate a table using DTML and data from a database. I
> want each row returned from the database to go into it's own html cell,
and
> I want to have say, 4 html columns across the page before starting a
> new row. So like:
>
> <table>
> <tr>
> <td> Row 1 from DB </td>
> <td> row 2 from db </td>
> <td> row 3 from db </td>
> <td> row 4 from db </td>
> </tr> <tr>
> <td> row 5 from db </td>
> ...
>
> How can I do this? Is there some kind of dtml-if I can wrap around
> the </tr><tr> to only make it show every 4th row?
You could use the count- variable to find the rows where you need to insert
the <tr>'s. If the returned column name is 'value', use code like this
(untested):
<table><tr>
<dtml-in db_query>
<dtml-if "_['count-value'] % 4 == 0"></tr><tr></dtml-if>
<td><dtml-var value></td>
</dtml-in>
</tr></table>
Now, I could be wrong and count-value is 1 based in stead of 0 based. In
fact, I believe it is, it would make sense anyway. Then you'd adjust the
logic slightly, something like (_['count-value'] - 1) % 4.
--
Martijn Pieters
| Software Engineer mailto:mj@digicool.com
| Digital Creations http://www.digicool.com/
| Creators of Zope http://www.zope.org/
| The Open Source Web Application Server
---------------------------------------------