sql >> Databasteknik >  >> RDS >> Mysql

Codeigniter Active Record - Räkna totalt antal hittade rader med gräns (MySQL)

Jag har tidigare haft exakt samma krav på paginering, och jag kunde få det att fungera med CodeIgniter Active Record.

Ställ först in alternativet SQL_CALC_FOUND_ROWS som en pseudokolumn i din select-sats och ställ in escape-frågan till false:

$this->db->select('SQL_CALC_FOUND_ROWS null as rows, other columns ...',FALSE);

Sedan, efter att du utfört din fråga med gränsen och offset på plats, tilldela resultatuppsättningen till en returmatris:

$data = $this->db->get();
$return['results'] = $data->result();
// Do something with the results

Slutligen, kör en andra fråga för att få de hittade raderna och tilldela även den till returmatrisen. Jag använder metodkedja här för att göra allt i ett steg.

$return['rows'] = $this->db->query('SELECT FOUND_ROWS() count;')->row()->count;

Och returnera resultatet och radräkningsmatrisen.

return $return;


  1. mysql_data_seek pdo motsvarande

  2. Hur man skapar en kolumn som inte är null i en vy

  3. Plugin '0' är inte laddad

  4. Vad är nolltecken bokstavlig i TSQL?