2012-02-01 149 views
0

我覺得這是一個愚蠢的問題,但我不能找到好的文檔,解釋什麼,我期待的。顯示0結果CI中查詢

如果我查詢在我的模型數據庫,並將結果數組傳遞給我的視圖,在這裏我聲明,如果有0結果打印「有沒有要顯示的結果?」

+0

我已通讀所有文檔。我知道如何檢查數組是否爲空並循環遍歷結果。我只是在尋找什麼纔是分配這些功能的「最佳實踐」。難道我檢查結果的NUM模型,或等待,直到它們被傳遞到視圖?下面 – khejduk 2012-02-01 20:38:41

+0

3個答案2建議處理,在視圖。希望有所幫助。 – 2012-02-02 04:28:32

回答

4

如果你想顯示的文本給用戶,這可能是最好的視圖來完成。

假設你的result()陣列傳遞到視圖,您可以檢查它是否是空的或不是(即沒有記錄):

if(empty($query->result())){ 
    // no records to display 
} else { 
    // records have been returned 
} 

否則,您可以通過num_rows()方法來檢查,如果你是與db對象處理作爲一個整體(而不僅僅是result()):

if($query->num_rows() > 0){ 
    // records have been returned 
} else { 
    // no records 
} 
0

你可以試試...

$query = $this->db->query("YOUR QUERY"); 

$a = $query->result_array(); 

if(count($a) > 0){ 
    foreach ($a as $row) 
    { 
    //.... 
    } 
} 

我建議你閱讀這個鏈接http://codeigniter.com/user_guide/database/index.html

+0

我已經完成了所有的文檔閱讀。我知道如何檢查數組是否爲空並循環遍歷結果。我只是在尋找什麼纔是分配這些功能的「最佳實踐」。我檢查模型中的結果數量,還是等到它們傳遞給視圖? – khejduk 2012-02-01 20:43:07

0

可能最好在視圖中完成。假設你沒有使用任何模板引擎,

<?php if ($result->num_rows() > 0): ?> 
    // do something... 
<?php else: ?> 
    <p>There are no results to display</p> 
<?php endif; ?>