Я использую CI3 и хочу использовать нумерацию страниц для своего сайта.Я использовал этот учебник для нумерации страниц https://www.codexworld.com/ajax-pagination-in-codeigniter-framework/, и он работает как-то.У меня есть 12 строк в базе данных, и я установил ограничение в 1, однако, это показывает, что есть 12 страниц (что верно), но выбирает все 12 строк из базы данных, как на изображении (посмотрите на прокрутку и количество страниц):
Изображение
Вот мой контроллер:
function __construct() {
parent::__construct();
$this->load->library('Ajax_pagination');
$this->perPage = 1;
}
public function index(){
//total rows count
$totalRec = count($this->collections_model->get_collections());
$limit = $this->perPage;
//pagination configuration
$config['target'] = '#ajpag';
$config['base_url'] = base_url().'collections/ajaxPaginationData';
$config['total_rows'] = $totalRec;
$config['per_page'] = $this->perPage;
$this->ajax_pagination->initialize($config);
//get the posts data
$data['title'] = 'Collections';
$data['collections'] = $this->collections_model->get_collections(FALSE, $limit);
$this->load->view('templates/header', $data);
$this->load->view('pages/index', $data);
$this->load->view('templates/footer');
}
function ajaxPaginationData(){
$page = $this->input->post('page');
if(!$page){
$offset = 0;
}else{
$offset = $page;
}
//total rows count
$totalRec = count($this->collections_model->get_collections());
$limit = $this->perPage;
//pagination configuration
$config['target'] = '#ajpag';
$config['base_url'] = base_url().'collections/ajaxPaginationData';
$config['total_rows'] = $totalRec;
$config['per_page'] = $this->perPage;
$this->ajax_pagination->initialize($config);
//get the posts data
$data['collections'] = $this->collections_model->get_collections(false, $limit, $offset);
//load the view
$this->load->view('collections/ajax-pagination-data', $data, false);
}
А вот моя модель:
public function get_collections($id = FALSE, $limit = FALSE, $offset = FALSE) {
if ($id === FALSE) {
$query = $this->db->get('collections');
$this->db->order_by('id','desc');
if($limit && $offset){
$this->db->limit($limit,$offset);
}elseif(!$offset && $limit){
$this->db->limit($limit);
}
return $query->result_array();
}
$query = $this->db->get_where('collections', array('id' => $id));
return $query->row_array();
}
Как можноЯ решаю свою проблему?