Mysql
 sql >> Datenbank >  >> RDS >> Mysql

codeigniter active record get query und query ohne die LIMIT-Klausel

Sie können SQL_CALC_FOUND_ROWS um die Anzahl der Zeilen zu erhalten, die ohne LIMIT zurückgegeben worden wären . Beachten Sie den ,FALSE im select Linie. Dies weist CodeIgniter an, nicht zu versuchen, SELECT zu maskieren -Klausel mit Backticks (weil SQL_CALC_FOUND_ROWS ist kein Feld, und CodeIgniter erkennt das nicht).

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

Nachdem diese Abfrage ausgeführt wurde, müssen wir eine weitere Abfrage ausführen, um die Gesamtzahl der Zeilen zu erhalten.

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