1

我正在尝试将其转换为 dwoo:

foreach($duplicates as $duplicate)
{
    echo "<tr>";
    foreach($column_list as $column)
    {
        if(@$duplicate{$column . "_diff"} == 1)
        {
            $id_is_different = '';
            echo "<td style=\"background: #333333\" >". $duplicate{$column} ."</td>\n";
        }
        else
        {
            echo "<td>" . $duplicate{$column} ."</td>\n";
        }
    }
    echo "</tr>";
}

我有这个:

{foreach $duplicates duplicate}
<tr>
    {foreach $column_list column}
    <td{if $duplicate.$column.'_diff' == 1} style="background: #333"{/if}>{$duplicate.$column}</td>
    {/foreach}
</tr>            
{/foreach}

除了第 4 行的 .$column.'_diff' 之外,它运行良好。知道如何使用 dwoo 将后缀添加到变量中吗?!?!

谢谢!

编辑

我可能应该解释得更好。

基本上,我正在做的是从 mysql 表 $column_list(使用“SHOW COLUMNS FROM ...”)中获取列名列表。然后做另一个查询来选择数据,在那个查询中,我将每一列中的数据与另一个表匹配,并添加一个前缀为“_diff”的列,所以如果我有一个名为“name”的列,我也有一个列“name_diff”(这些列不在 $column_list 中),其值为 1 或 0。1 或 0 仅表示天气或与其他表中的数据不匹配。无论如何,列数和列名总是在变化,所以我不能在代码中使用任何列名。所以....

使用 dwoo,{$duplicate.$column} 将类似于 $duplicate['name']; 我想要做的是动态添加后缀“_diff”,这样我就可以更改单元格的背景颜色......我知道这非常令人困惑!我真的不擅长解释事情!

4

2 回答 2

1

恐怕目前唯一的解决方案是执行以下操作:

{foreach $duplicates duplicate}
<tr>
    {foreach $column_list column}
        {$diffcol = cat($column '_diff')}
        <td{if $duplicate.$diffcol == 1} style="background: #333"{/if}>{$duplicate.$column}</td>
    {/foreach}
</tr>            
{/foreach}
于 2010-01-07T14:05:25.440 回答
0

尝试这个

{foreach $column_list column}
    <td{if $duplicate.$column.last == 1} style="background: #333"{/if}>{$duplicate.$column}</td>
    {/foreach}
于 2010-01-06T22:14:16.847 回答