Smarty Iteration并获取记录中的上一列

时间:2012-06-01 23:51:51

标签: php smarty iteration

在我的循环中,我想将记录集中的当前列与下一个列进行比较,以便在不同的情况下添加额外的空白行。

{if $smarty.section.row.next.pc_name != $timeblocks[row].pc_name}
    <tr bgcolor="#333333"><td colspan="6">&nbsp;</td></tr>
{/if}

1 个答案:

答案 0 :(得分:0)

我总是通过检查以前的记录完成这些事情,如下所示:

{assign var="last" value=""}

{section name=row loop=$rows}
    ...
    {if $last != $timeblocks[row].pc_name}
        <tr bgcolor="#333333"><td colspan="6">&nbsp;</td></tr>
        {assign var="last" value=$timeblocks[row].pc_name} {* UPDATE LAST *}
    {/if}
{/section}

但是,如果您想维护逻辑,可以使用 index_next section property ,它会为您提供下一个迭代索引(遗憾的是不是下一个迭代元素) ,但没有问题):

{if $timeblocks[$smarty.section.row.index_next].pc_name != $timeblocks[row].pc_name}
    <tr bgcolor="#333333"><td colspan="6">&nbsp;</td></tr>
{/if}