Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Codeigniter Active Record - Đếm tổng số hàng được tìm thấy có giới hạn (MySQL)

Trước đây, tôi đã có yêu cầu chính xác tương tự đối với việc phân trang và tôi đã có thể làm cho nó hoạt động bằng cách sử dụng CodeIgniter Active Record.

Đầu tiên, đặt tùy chọn SQL_CALC_FOUND_ROWS dưới dạng cột giả trong câu lệnh chọn của bạn và đặt truy vấn thoát thành sai:

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

Sau đó, sau khi bạn thực hiện truy vấn của mình với giới hạn và bù đắp tại chỗ, hãy gán tập hợp kết quả cho một mảng trả về:

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

Cuối cùng, hãy chạy truy vấn thứ hai để lấy các hàng tìm được và cũng gán hàng đó cho mảng trả về. Tôi đang sử dụng chuỗi phương thức ở đây để thực hiện tất cả trong một bước.

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

Và trả về kết quả và mảng đếm hàng.

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. Làm thế nào để phát hiện các deadlock trong Mysql / innodb?

  2. Tìm kiếm MySQL và thay thế một số văn bản trong một trường

  3. Cách so sánh chuỗi cho một khoảng trắng

  4. Ưu điểm của MySQLi so với MySQL

  5. Tại sao tôi nhận được lỗi Không thể chuyển tham số 2 do tham chiếu khi tôi đang sử dụng bindParam với một giá trị không đổi?