sql >> Databáze >  >> RDS >> Mysql

Aktivní záznam Codeigniter – spočítat celkový počet nalezených řádků s limitem (MySQL)

Dříve jsem měl přesně stejný požadavek na stránkování a dokázal jsem to zprovoznit pomocí CodeIgniter Active Record.

Nejprve nastavte volbu SQL_CALC_FOUND_ROWS jako pseudo sloupec ve vašem příkazu select a nastavte únikový dotaz na hodnotu false:

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

Poté, co provedete dotaz se zavedeným limitem a offsetem, přiřaďte sadu výsledků k poli návratů:

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

Nakonec spusťte druhý dotaz, abyste získali nalezené řádky a také je přiřadili k poli návratů. Používám zde řetězení metod, abych to všechno udělal v jednom kroku.

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

A vrátí výsledek a pole počtu řádků.

return $return;


  1. Jak zrychlit váš SQL Server pomocí sledování výkonu databáze

  2. Příklady transakcí PHP + MySQL

  3. Jak přidat spouštěcí skript do kontejneru mysql docker?

  4. Duplikování záznamů k vyplnění mezery mezi daty