В функции Controller, когда вы получаете результаты, вы должны передать их в файл View, как показано ниже.
$data['rows'] = $rows;
// load the view
$this->load->view('category_view', $data);
Затем в вашем файле просмотра вы можете получить ссылки на страницы.
<?php echo $this->pagination->create_links(); ?>
РЕДАКТИРОВАТЬ => Здесь в массиве конфигурации 'total_rows' => $this->admin_model->num_rows(),
вы назначаете массив вместо номера счета.
Функция вашей модели
public function num_rows(){
$this->db->select('*');
$this->db->from('tbl_category');
$row = $this->db->get()->result_array();
return $row; //This $row is an Array, NOT count no. of rows
}
В приведенной выше функции вы возвращаете return $row;
, который является массивом.И это причина, по которой вы получаете ошибку, такую как Ошибка неподдерживаемых типов операндов
Итак, 2 решения этой проблемы. Попробуйте только ЛЮБОЕ из решения.
Либо 1) Вы должны вернуть количество результирующего набора в переменную total_rows:
$config = [
'base_url' => base_url('http://localhost/training/admin/'),
'per_page' => 2,
'total_rows' => count($this->admin_model->num_rows()), //Pass the count of returned array.
];
ИЛИ 2) Вы можете изменить функцию.
public function num_rows(){
$this->db->select('*');
$this->db->from('tbl_category');
$row = $this->db->get()->result_array();
return $row->num_rows(); //Return count result instead of array.
}
ПРИМЕЧАНИЕ: - Если вы хотите просто подсчитать количество строк, выможно использовать $ this-> db-> count_all_results () , как показано ниже.
public function num_rows(){
$this->db->from('tbl_category');
return $this->db->count_all_results();
}
num_rows () : - С num_rows () сначала вы выполняете запрос, а затем можете проверить, сколько строк вы получили. Полезно, когда вам нужны данные таблицы .
count_all_results () : - С помощью count_all_results () вы получите количество строк, которые ваш запрос произведет, но не дает вам фактический набор результатов. Полезно, когда вам нужно только количество строк для нумерации страниц, нет.записей и т. д.
См. мой другой ответ здесь. Запрос Codigniter, возвращающий неправильный счет