簡體   English   中英

Smarty在While循環中分配變量

[英]Smarty assign variable in while loop

我有以下PHP函數

while( $manufacturer2 = xtc_db_fetch_array($manufacturer_query2,true) ){
echo $manufacturer2['manufacturers_name'] = '<a class="PI_Manufacturer"
href="'. xtc_href_link(FILENAME_DEFAULT, xtc_manufacturer_link($manufacturer2['manufacturers_id'])) . '">' . $manufacturer2['manufacturers_name'] . '</a>';
}

現在它回顯結果,但我想將它們分配給Smarty變量。 我把這個:

$info_smarty->assign('MANUFACTURERS',$manufacturer2['manufacturers_name']);

在while循環中,但是當我在模板中調用變量時,僅得到1個名稱,而不是2個或3個名稱。 在我的模板中,我使用了foreach循環來獲取所有值。 有什么建議么?

由於您使用單個變量存儲bvalues,因此為什么只獲得單個值。 嘗試使用smarty數組分配值。

這是我解決的方法:

在while循環中創建一個數組,並將每個項目放入其中:

while( $manufacturer2 = xtc_db_fetch_array($manufacturer_query2,true) ){
$os[] = $manufacturer2['manufacturers_name'] = '<a class="PI_Manufacturer" style="color: #990033" href="' . xtc_href_link(FILENAME_DEFAULT, xtc_manufacturer_link($manufacturer2['manufacturers_id'],$manufacturer2['manufacturers_name'])) . '">' . $manufacturer2['manufacturers_name'] . '</a><text class="PI_Manufacturer">;</text> ';
$info_smarty->assign('ALINK',$os);
}

我還將數組最后分配給變量,並使用模板中的foreach循環將其調用:

{foreach item=authors from=$ALINK} 
{$authors}
{/foreach}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM