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