Vous pouvez utiliser SQL_CALC_FOUND_ROWS
pour obtenir le nombre de lignes qui auraient été renvoyées sans-LIMIT
. Notez le ,FALSE
dans le select
doubler. Cela indique à CodeIgniter de ne pas essayer d'échapper au SELECT
clause avec backticks (parce que SQL_CALC_FOUND_ROWS
n'est pas un champ, et CodeIgniter ne s'en rend pas compte).
$this->db
->select("SQL_CALC_FOUND_ROWS emp", FALSE)
->from('emp')
->join('empr', 'empr.b = empr.id', 'left')
->like('code', $code)
->limit($numrows, $start);
$q = $this->db->get();
Ensuite, une fois cette requête exécutée, nous devons exécuter une autre requête pour obtenir le nombre total de lignes.
$query = $this->db->query('SELECT FOUND_ROWS() AS `Count`');
$data["totalres"] = $query->row()->Count;