2016-03-11 66 views
0

我想創建一個數組並將其分配給smarty模板以顯示我的所有新聞。但問題是它只是在表格中提取第一行數據,我該如何解決這個問題?它只是顯示了有史以來第一個行和療法EIS 4個行在數據庫php在smarty tpl中顯示所有db記錄

我使用DB驅動程序的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} 
+0

您可以直接將'$ row'分配給'website_news'。 – Yash

+0

檢查你在$ newsArray中獲取的內容。 '的var_dump($ newsArray);模具;' –

回答

0
$newsArray = autoLoader::getLibrary('database')->query("SELECT * FROM `cms_news`")->fetch_all(MYSQLI_BOTH); 
$this->smarty->assign('website_news', $newsArray); 
-1

您的模板似乎沒問題。問題在於你的日期不能作爲數組完全加載。這是一個php(控制器)端錯誤。您可以驗證您的print_r($newsArray);是否包含完整數據。