smarty模板中用表格来循环读取数据是一件很糟糕的事情,什么地方该加<tr>标签,什么地方该加</tr>标签还好说,如果碰到那种需要加colspan标签的,那就真得伤一下脑筋了,不过对于这个问题,本人已经想办法解决了,现特地记载以下,以防在遇到这种情况。具体代码如下图,需要根据实际情况进行修改:
{section loop=$student_list name=list} {if $smarty.section.list.first || $smarty.section.list.rownum%5==1}<tr>{/if} <td>{$student_list[list].name}</td> {if $smarty.section.list.last == 1 && $smarty.section.list.rownum%5 != 0} <td colspan="{math equation=x-y x=5 y=$smarty.section.list.rownum%5}"> </td> {/if} {if $smarty.section.list.last || $smarty.section.list.rownum%5==0}</tr>{/if} {/section}
注:上例循环的是一个五列的表格