使用smrty模板系统显示复杂数组

时间:2014-02-01 06:17:07

标签: php arrays smarty

使用{foreach}标记在我的网站中显示简单数组没有问题。我有一点时间转换我的一个更复杂的数组用于smarty模板系统。我已经尝试了很多时间让它工作,但它没有显示。我的数组计算表中的行以确定是否创建新行。有人能指出我如何重写这个阵列以使用智能模板系统吗?

<?php
$field = 0; 
echo "<table><tbody>";
mysql_connect("xxxx", "xxxx", "xxxx") or
die("Could not connect: " . mysql_error());
mysql_select_db("xxxx");

$result = mysql_query("SELECT item_id FROM user_item");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
 if ($field % 5 == 0) echo '<tr>'; 
 echo '<td><img src="img/items/'. intval($row["item_id"]). '.png"></td>'; 
  if ($field % 5 == 4) 
  {
    echo '</tr>'; 
   $field = 0;
  }
  else
   $field++; 

}
mysql_free_result($result);
?>                  

1 个答案:

答案 0 :(得分:0)

您必须使用foreach属性index,iteration,first和last:http://www.smarty.net/docs/en/language.function.foreach.tpl

{foreach $data as $row}
  {if $row@index is div by 4 or $row@first}
    <tr>
  {/if}
       <td> ... something ...</td>
  {if $row@iteration is div by 4 or $row@last}
    </tr>
  {/if}
{/foreach}