Mysql
 sql >> Base de données >  >> RDS >> Mysql

codeigniter active record get query et query sans la clause LIMIT

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;