沃梦达 / 编程问答 / php问题 / 正文

将数组从php传递给Smarty.tpl

Passing Array from php to Smarty .tpl(将数组从php传递给Smarty.tpl)

本文介绍了将数组从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');

这篇关于将数组从php传递给Smarty.tpl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:将数组从php传递给Smarty.tpl

基础教程推荐