CodeIgniter:如何在获得所有结果之前获取记录数?

时间:2017-10-19 17:44:16

标签: php codeigniter codeigniter-3

我需要在应用限制之前获取查询的记录数。我尝试使用以下代码:

$db = $this->load->database();
$this->db->select($this->select_column)
         ->from($this->table);
echo $this->db->count_all_results();

但count_all_results不会返回任何数字。如果我执行$ this-> db-> get(),我获得了结果集,但首先我需要应用限制。

$ this-> db-> count_all_results()可能会发生什么? 是否有其他解决方案可以根据预览查询获取返回的行数?

我正在使用Codeigniter 3和MySQL。

2 个答案:

答案 0 :(得分:0)

首先尝试执行以下操作以获取计数:

$this->db->select('count(*) as ct');
$count = $this->db->get($this->table)->result()[0]->ct;

现在您的变量 $ count 具有应用限制所需的计数,因此您可以

$this->db->.... // Your code

答案 1 :(得分:0)

$this->load->database();       // Database is lodaed 
$query = $this->db->get('table_name');
 return $query->num_rows();

// This will return count of total rows
//After that you can return the result

return $query->result();