Mysql
 sql >> Database >  >> RDS >> Mysql

codeigniter record attivo ottiene query e query senza la clausola LIMIT

Puoi utilizzare SQL_CALC_FOUND_ROWS per ottenere il numero di righe che sarebbero state restituite sans-LIMIT . Nota il ,FALSE nel select linea. Questo dice a CodeIgniter di non tentare di sfuggire a SELECT clausola con backtick (perché SQL_CALC_FOUND_ROWS non è un campo e CodeIgniter non se ne rende conto).

$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();

Quindi, dopo l'esecuzione della query, è necessario eseguire un'altra query per ottenere il numero totale di righe.

$query = $this->db->query('SELECT FOUND_ROWS() AS `Count`');
$data["totalres"] = $query->row()->Count;