ホームページ  >  記事  >  バックエンド開発  >  Smarty でループ内に割り当てる方法

Smarty でループ内に割り当てる方法

WBOY
WBOYオリジナル
2016-06-13 13:16:19802ブラウズ

Smartyのループで代入する方法
これはsmartyのコードです

PHPコード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$i=0;
$db->Query("brand_list","select * from `category` where `pid`='2' order by id");//总共有4个结果
while($array = $db->GetArray("brand_list")){
    $brand_list[] = $array;
    $i++;
    $wf->assign("i",$i);
    //echo $i.',';
}
$wf->assign('brand_list',$brand_list);



これはテンプレートのコードです
HTML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
{foreach from=$brand_list item=list}
    {$i},
{/foreach} 



これを php でエコーすると、正しい結果が出力されます: 1,2,3,4,
しかし、テンプレートでは 4 が出力されます。 4 ,4,4,

テンプレートで自己追加を実装できることはわかっています。これはほんの一例です。
私が聞きたいのは、テンプレートが私が望むものを正常に出力できるように、PHPループ内でどのように代入するかです。

表現が十分に明確かどうかわかりません。

-----解決策---------
$i=0;
$db->Query("brand_list","select * from `category` where `pid`='2' order by id");//合計 4 つの結果があります
$index = array();
while($array = $db->GetArray("brand_list")){
$brand_list[] = $array;
$i++;
$ Index [] = $i;
//echo $i.',';
}
$wf->assign("i",$index);
$wf->gt; assign ('brand_list',$brand_list);


{foreach from=$brand_list item=list key=key}
{$i[$key]},
{/foreach
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。