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

CIのドキュメントはこれについて明確ではないと私はこれがどのように動作するかを完全にわからないんだけど...私はこのクエリを持っていると(NUM_ROWSをチェックする必要がある場合は結果)、結果を配列で取得します。どうすればいい?CodeIgniterのActive Recordの - ヌム行と

私は$this->db->select('*')->from($this->table)->order_by($sql)->get();を使用する場合、私はNUM_ROWSを(チェックすることはできませんよ)

理想的には私は、アレイ内の結果を得るために)(result_arrayを使用すると思います。変更これまで、モデル内の関数、この

$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 

答えて

3

試してみてください。

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()。それはあなたにエラーを与えます。 これが役立つことを願っています!