我想创建一个数组并将其分配给smarty模板以显示我的所有新闻。但问题是它只是拿起表中的第一行数据,我该如何解决这个问题呢?它只显示数据库中的第一行和其他4行
我正在使用mysqli for db driver ...
$newsArray = array();
$row = autoLoader::getLibrary('database')->query("SELECT * FROM `cms_news`")->fetch_array();
$newsArray[] = $row;
$this->smarty->assign('website_news', $newsArray);
然后我在tpl
中使用此代码显示它{section name=nr loop=$website_news}
{$website_news[nr].id}
{$website_news[nr].title}
{$website_news[nr].shortstory}<br />
{sectionelse}
<h1>No news found!</h1>
{/section}
答案 0 :(得分:0)
$newsArray = autoLoader::getLibrary('database')->query("SELECT * FROM `cms_news`")->fetch_all(MYSQLI_BOTH);
$this->smarty->assign('website_news', $newsArray);
答案 1 :(得分:-1)
您的模板似乎没问题。问题是您的日期没有作为数组完全加载。这是一个php(控制器)端错误。您可以验证print_r($newsArray);
是否包含完整数据。