将数组从php传递给Smarty.tpl
我受困于此已有一段时间了……我找不到做我想做的事的方法。以下是我在"mode.php"上的代码。
$libroarray = array(306,303,302,307);
foreach ($libroarray as $librorow)
{
$sql = 'SELECT * FROM '._DB_PREFIX_.'image WHERE `id_product` = '.$librorow;
$results = Db::getInstance()->ExecuteS($sql) ;
foreach ($results as $row)
{
$var = $row['id_image'].' ---- '.$row['id_product'].'<br />';
}
}
$this->smarty->assign('libros', $var);
return $this->display(__FILE__, 'module.tpl');
我的"mode.tpl"上有这个
{foreach $libros as $item}
{$item}
{/foreach}
我的问题是它只显示"$var"的最后一个结果
256 ---- 307
我试了所有我知道的.没有成功!!...我永远不会理解如何使用数组。我算不出来……我知道它只需轻轻一碰就能起作用,但我就是弄不明白
请注意...有人能帮忙吗?
解决方案
$var
是字符串而不是数组...使用$var[]
$libroarray = array(306,303,302,307);
$var = array();
foreach ($libroarray as $librorow)
{
$sql = 'SELECT * FROM '._DB_PREFIX_.'image WHERE `id_product` = '.$librorow;
$results = Db::getInstance()->ExecuteS($sql) ;
foreach ($results as $row)
{
$var[] = $row['id_image'].' ---- '.$row['id_product'].'<br />';
}
}
$this->smarty->assign('libros', $var);
return $this->display(__FILE__, 'module.tpl');
相关文章