2012-03-07 62 views
1
$query = $this->db->select('*')->from($this->table)->order_by($sql); 
$query = $this->db->select('*')->from($this->table)->order_by($sql); 

CI文檔不清楚這一點,我不完全知道這應該如何工作...如果我有這個查詢,並且需要檢查num_rows( )並在數組中獲得結果。我會怎麼做?代碼點火器活動記錄 - 數行和結果

當我使用$this->db->select('*')->from($this->table)->order_by($sql)->get();我不能檢查NUM_ROWS()

理想情況下我會使用result_array()來獲得一個數組的結果。

回答

3

嘗試使用此

$query = $this->db->order_by('column name')->get('your tablename'); 

//note that your result must be an object 

$count = $query->num_rows();//your num rows result handler 

$result = $query->result_array();//your query result 
0

變化的函數模型,以這樣的:

function your_function() 

{ 

    $this->db->select('*, COUNT(*) as count'); 
    $this->db->order_by($sql); 
    $query = $this->db->get('table'); 

    if ($query->num_rows() > 0) 

    { 

     return $query->result(); 

    } 

} 

從您的控制器將數據傳遞到您的視圖。

$data['data'] = $this->your_model->your_function(); 

然後你可以像任何其他返回的數據一樣顯示它。

echo $data->count; 

您可能需要在表格名稱等幾個小部件中進行編輯,但這應該可以做到。

:)

0

更好地利用:

$result = $query->row(); 
 
$cnt = $result->count;

代替result_array();這給你錯誤。 希望這有助於!