使用smarty将数组转换为错误的字符串转换

时间:2013-02-18 09:19:15

标签: php arrays string smarty

我正在尝试在php上创建的smarty模板上打印一个数组。我收到了这个错误:

注意:第87行的C:\ wamp \ www \ smarty \ templates_c \ e43b807af9cc8df7d350c3baf9e47f167c9520a0.file.index.tpl.php中的数组到字符串转换

我无法想象如何解决它。你能告诉我错误在哪里吗?

这是我在php中创建数组的部分

function get_db_results()
{
    $mysql = "SELECT COUNT(*) FROM question";
    $myresult = mysql_query($mysql);
    $myr = mysql_fetch_row($myresult);
    SmartyPaginate::setTotal($myr[0]);
    $index = SmartyPaginate::getCurrentIndex();
    $limit =SmartyPaginate::getLimit();
    $rsql = "SELECT question_title FROM question ORDER BY question_id DESC LIMIT $index, $limit ";

    $rresult = mysql_query($rsql);
    //$column = array();

    while($rrow = mysql_fetch_array($rresult , MYSQL_ASSOC))
    {
        $column[]=$rrow;

    }


    return $column;
}
$smarty->assign('results', get_db_results());

这是聪明的部分:

{section name=res loop=$results}
    {$results[res]}
{/section}

2 个答案:

答案 0 :(得分:2)

{$results[res]}更改为{$results.res}假设您的数组中有“res”键

通过查看你的功能我想它应该是:

{$results.question_title}

以下是解决方案:

{foreach from=$results item=results name=results}
    {$results.question_title}
{/foreach}

答案 1 :(得分:2)

首先删除来自C:\wamp\www\smarty\templates_c\的所有缓存文件,之后尝试{$results[res].YOUR FIELD NAME},因为您使用了{section}{/section}

例如 {$results[res].question_title}

希望能帮到你。