Du kan använda SQL_CALC_FOUND_ROWS
för att få antalet rader som skulle ha returnerats sans-LIMIT
. Notera ,FALSE
i select
linje. Detta säger åt CodeIgniter att inte försöka undkomma SELECT
sats med backticks (eftersom SQL_CALC_FOUND_ROWS
är inte ett fält, och CodeIgniter inser inte det).
$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();
Sedan efter att frågan har körts måste vi köra en annan fråga för att få det totala antalet rader.
$query = $this->db->query('SELECT FOUND_ROWS() AS `Count`');
$data["totalres"] = $query->row()->Count;