मुझे पहले पेजिनेशन के लिए ठीक वैसी ही आवश्यकता थी, और मैं कोडइग्निटर एक्टिव रिकॉर्ड का उपयोग करके इसे काम करने में सक्षम था।
सबसे पहले, विकल्प सेट करें SQL_CALC_FOUND_ROWS
अपने चयन कथन में छद्म कॉलम के रूप में और एस्केप क्वेरी को गलत पर सेट करें:
$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;