Php smarty仅显示foreach中的第一个字符
我刚刚开始使用Smarty模板,有一个非常简单的查询:Php smarty仅显示foreach中的第一个字符,php,mysql,smarty,whmcs,Php,Mysql,Smarty,Whmcs,我刚刚开始使用Smarty模板,有一个非常简单的查询: $result = mysql_query("SELECT `name`, `min_price` FROM `tblproductgroups` WHERE `hidden` != 'on' ORDER BY `order` ASC"); $data = mysql_fetch_array($result); $ca->assign('products', $data); tempate文件如下所示: {fore
$result = mysql_query("SELECT `name`, `min_price` FROM `tblproductgroups` WHERE `hidden` != 'on' ORDER BY `order` ASC");
$data = mysql_fetch_array($result);
$ca->assign('products', $data);
tempate文件如下所示:
{foreach from=$products key=key item=product}
{$product.name} - {$product.id}<br/>
{/foreach}
V - V
V - V
6 - 6
6 - 6
V是VPS(名称)的第一个字符,6是price的第一个字符。
如何使Smarty显示完整信息?
mysql\u fetch\u array
将只获取第一个元素。您需要执行类似于while($row=mysql\u fetch\u array($result)){…}的操作,因此我应该在while()循环中分配'products'变量?好的,通过更改PHP while($data=mysql\u fetch\u array($result))$assign[]=$data修复了这一问题$ca->assign('products',$assign);谢谢你的提示@Amal Murali不客气。不过,你不需要两个循环来完成这个简单的任务。对不起,但是一个循环怎么可能完成这个任务呢?