将数组从php传递到Smarty .tpl

时间:2014-07-04 12:17:59

标签: php arrays smarty

我一直坚持这一点......而且我找不到做我想做的事的方式。 Heres是我的“module.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');

我在“module.tpl”

上有这个
{foreach $libros as $item}
{$item}
{/foreach}

我的问题是它只显示“$ var”

的最后结果
256 ---- 307

我尝试了所有我知道的事情......没有成功!! ......我永远不会理解如何使用数组。我不能解决它们...我知道它只需要一点点工作,但我根本无法弄明白

Pleaseee ...有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

$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');