我有以下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循环来获取所有值。有什么建议吗?
答案 0 :(得分:0)
由于您使用单个变量来存储值,因此您只获得单个值。尝试使用smarty数组来分配值。
答案 1 :(得分:0)
以下是我解决这个问题的方法:
在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}