Code Igniter Active Record - Num Rows&结果

时间:2012-03-07 00:48:44

标签: codeigniter

$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 个答案:

答案 0 :(得分: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

答案 1 :(得分: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;

您可能需要像表名一样编辑几个部分,但这应该可以解决问题。

:)

答案 2 :(得分:0)

更好地使用:

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

而不是result_array();这给你错误。 希望这可以帮助!