Smarty連想配列の表示

ジャンショート

私が達成しようとしているのはこれですが、それを表示する方法を考えることができません:


商品名:商品名の例

説明:製品説明の例

価格:$ 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}

私を助けてください。

ボルグテックス

配列マッピングが間違っています。製品のプロパティを同じインデックスの下にネストする必要があります。同じレベルのプロパティごとに無関係なキーを作成しないでください。

したがって、次のようになります。

$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}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事