2010-01-06 5 views
1

Je suis en train de convertir en dwoo:PHP, Dwoo - Variables

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>"; 
} 

J'ai ceci:

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

A l'exception de: colonne $ .'_ diff » sur les. 4ème ligne, ça marche parfaitement. une idée de comment je peux ajouter le suffixe à la variable avec dwoo?!?!

Merci!

EDIT

je devrais probablement mieux expliqué. Fondamentalement, ce que je fais est de saisir une liste de noms de colonnes à partir d'une table mysql, $ column_list (en utilisant "SHOW COLUMNS FROM ..."). Puis en faisant une autre requête pour sélectionner les données, dans cette requête, je fais correspondre les données dans chaque colonne à une autre table et en ajoutant une colonne avec un préfixe de "_diff" donc si j'ai une colonne nommée "name" j'ai aussi une colonne "name_diff" (ces colonnes ne sont pas dans $ column_list) qui a une valeur de 1 ou 0. le 1 ou le 0 signifient juste la météo ou pas les données trouvées dans l'autre table. de toute façon, le nombre de colonnes et les noms de colonnes changent constamment, donc je ne peux pas vraiment utiliser de noms de colonne dans le code. donc ...

avec dwoo, {$ duplicate. $ column} serait quelque chose comme $ duplicate ['name']; et ce que j'essaie de faire est d'ajouter dynamiquement le suffixe "_diff" pour que je puisse changer la couleur de fond de la cellule ... Je sais que c'était super déroutant! Je suis vraiment mauvais à expliquer les choses!

Répondre

1

Je crains que la seule solution pour est maintenant faire ce qui suit:

{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} 
+0

hey its mieux que d'avoir une vue avec PHP partout où le reste d'entre eux est fait avec dwoo! Merci pour la réponse, vous pouvez simplement ignorer mon message sur le forum dwoo! – mike

0

essayer cette

{foreach $column_list column} 
    <td{if $duplicate.$column.last == 1} style="background: #333"{/if}>{$duplicate.$column}</td> 
    {/foreach} 
+0

modifié ma question avec plus de détails, très confus;) – mike