Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

codeigniter active record obtém consulta e consulta sem a cláusula LIMIT


Você pode usar SQL_CALC_FOUND_ROWS para obter o número de linhas que seriam retornadas sem-LIMIT . Observe o ,FALSE no selecionar linha. Isso diz ao CodeIgniter para não tentar escapar do SELECT cláusula com acentos graves (porque SQL_CALC_FOUND_ROWS não é um campo, e o CodeIgniter não percebe isso).
$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();

Então, depois que essa consulta for executada, precisamos executar outra consulta para obter o número total de linhas.
$query = $this->db->query('SELECT FOUND_ROWS() AS `Count`');
$data["totalres"] = $query->row()->Count;