显示Smarty关联数组

时间:2014-02-27 07:13:36

标签: multidimensional-array smarty associative-array

我想要实现的是这个,但我想不出如何展示它:


产品名称: 产品名称的示例

描述: 产品说明示例

价格: $ 10.00

折扣: 10%


这是我在PHP文件中分配它的方式

$array = array();

while ( $row = mysqli_fetch_array( $result ) ){

    $array['product_name'][] = $row['product_name']; //array('product_name' => array( [0] => 'productname1' [1] => 'productname2' ))
    $array['description'][] = $row['description'];
    $array['unit_available'][] = $row['unit_available'];
    $array['price'][] = $row['price'];
    $array['discount'][] = $row['discount'];
    $array['discount_status'][] = $row['discount_status'];
}

return $array;


$smarty->assign('thumbnail', $thumbnail);

这是我被困的部分:

{foreach from=$thumbnail key=key item=item} 

{/foreach}

请帮帮我。

1 个答案:

答案 0 :(得分:1)

您的数组映射是错误的,您必须在同一索引下嵌套产品的属性,而不是为同一级别中的每个属性创建不相关的键

所以它应该是:

$products[]=array(
   'product_name'=>$row['product_name'],
   'description'=>$row['description'],
   ...and so on...
   );

然后在smarty中就像

一样简单
{foreach from=$products key=key item=item}

  Product name: {$item.product_name}<br/>
  Description: {$item.description}<br/>
  ...
{/foreach}