2011-12-29 35 views
2

我有關聯數組:笨和Smarty的

型號

public function selectArticle(){ 
    $sql = $this->db->query("SELECT * FROM articles"); 
    return $sql->result_array(); 
} 

控制器

public function index(){ 
    $data['articles'] = $this->article->selectArticle(); 
    $this->parser->parse('index.tpl', $data); 

} 

模板

{foreach from = $articles item = $article} 
<tr> 
    <td width="30%">{$article.title}</td> 
    <td width="30%"> 
       <a href="{$article.link}" target="_blank">http://example.net</a> 
    </td>  
    <td width="20%">{$article.size}</td> 
    <td width="20%">{$article.count}</td> 
</tr> 
{/foreach} 

如何在模板中獲得FILD?
由於現在:article.fild - 不行

+0

我不記得了,但是不應該是'{$ article-> title}'等等在smarty中? – rekire 2011-12-29 15:57:26

+1

你能詳細說明哪些方面無效嗎?該頁面是否完全空白?頁面加載但沒有信息打印?您可以轉儲文章數組以查看視圖中的內容嗎?所有這些都將幫助我們更快地找到答案。 – 2011-12-29 16:02:13

+0

Rekire,他用 - > result_array()返回sql數據。 Codeigniters本機響應是返回一個對象。這就是爲什麼你看到$ article - > $ title。但是,既然他把它作爲一個數組返回,他就會使用正確的語法。 – 2011-12-29 16:03:10

回答

3

刪除$文章,必須使用文章

{的foreach從= $文章項目= $文章}

試試此代碼:

{foreach from=$articles item=article} 
<tr> 
    <td width="30%">{$article.title}</td> 
    <td width="30%"><a href="{$article.link}" target="_blank">http://example.net</a></td> 
    <td width="20%">{$article.size}</td> 
    <td width="20%">{$article.count}</td> 
</tr> 
{/foreach} 
+1

是的!是工作。 thx – systemiv 2011-12-29 16:07:39

+0

我認爲奧拉夫有它。但是他不需要在FROM語句中爲$ articles做同樣的事情嗎? - 如果有效,請將他的答案標記爲正確。 – 2011-12-29 16:09:08

+0

@MattMoore:不,因爲$ articles已經存在。 :) – 2011-12-29 16:11:02