我想创建一个数组并将其分配给智能模板以显示我的所有新闻。但问题是它只是拾取表中的第一行数据,我该如何解决这个问题?它只显示数据库中的第一行和另外 4 行
我正在使用 mysqli 作为数据库驱动程序...
$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}
$newsArray = autoLoader::getLibrary('database')->query("SELECT * FROM `cms_news`")->fetch_all(MYSQLI_BOTH);
$this->smarty->assign('website_news', $newsArray);
您的模板似乎还可以。问题是您的日期没有作为数组完全加载。这是一个 php(控制器)端错误。您可以验证您的print_r($newsArray);
是否包含完整数据。