Możesz użyć SQL_CALC_FOUND_ROWS
aby uzyskać liczbę wierszy, które zostałyby zwrócone sans-LIMIT
. Zwróć uwagę na ,FALSE
w wybierz
linia. To mówi CodeIgniterowi, aby nie próbował uciec przed SELECT
klauzula z backtickami (ponieważ SQL_CALC_FOUND_ROWS
nie jest polem, a CodeIgniter nie zdaje sobie z tego sprawy).
$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();
Następnie po uruchomieniu tego zapytania musimy uruchomić inne zapytanie, aby uzyskać całkowitą liczbę wierszy.
$query = $this->db->query('SELECT FOUND_ROWS() AS `Count`');
$data["totalres"] = $query->row()->Count;