Mysql
 sql >> база данни >  >> RDS >> Mysql

Codeigniter Active Record - Брой общите намерени редове с ограничение (MySQL)

Преди имах точно същото изискване за пагинация и успях да го накарам да работи с помощта на CodeIgniter Active Record.

Първо задайте опцията SQL_CALC_FOUND_ROWS като псевдо колона в оператора за избор и задайте escape-заявката на false:

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

След това, след като изпълните заявката си с ограничението и изместването на място, присвоете резултатния набор на масив за връщане:

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

Накрая изпълнете втора заявка, за да получите намерените редове и също така да ги присвоите на масива за връщане. Използвам верижното свързване на методи тук, за да направя всичко в една стъпка.

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

И върнете резултата и масива за броя на редовете.

return $return;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. разширяване на класа на PDO

  2. Актуализиране на колона за поръчка MySQL?

  3. MySql Как да задам локална променлива в изявление за актуализиране (синтаксис?)

  4. Инсталиране на MySQLdb на Mac OS X

  5. Функцията mysql_escape_string() е отхвърлена, използвайте mysql_real_escape_string() Codeigniter