Как я могу сделать разбиение на страницы не сбросить сортировку со страницы 1? Потому что, когда я заказываю таблицу, она будет сброшена на следующей странице. Как я могу это исправить?CodeIgniter разбиение на страницы с порядком и поиск
Вот мой код:
public function viewstudents(){
$this->pagination('students');
$studedit = $this->session->userdata('studedit_id');
if(isset($studedit)){
$this->session->unset_userdata('studedit_id');
}
$id = $this->session->userdata('id');
$userdata['user'] = $this->UsersModel->select_admin($id);
$this->load->view('include/header_admin', $userdata);
$data['students'] = $this->UsersModel->getStudents(10, $this->uri->segment(3));
$data['page'] = $this->uri->segment(3);
$msg = $this->session->userdata('msg');
if(isset($msg)){
$data['msg'] = $msg;
}
$this->load->view('admin/view_students', $data);
$this->load->view('include/footer_admin');
}
И функция пагинация:
public function pagination($table) {
$this->load->library('pagination');
$config['base_url'] = base_url().'admin/view'.$table;
$config['per_page'] = 10;
$config['num_links'] = 3;
$config['total_rows'] = $this->db->get($table)->num_rows();
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['first_link'] = '<span aria-hidden="true">←</span> First';
$config['last_link'] = 'Last <span aria-hidden="true">→</span>';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['prev_link'] = '«';
$config['prev_tag_open'] = '<li class="prev">';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '»';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
}
Я считаю, что в $config['base_url']
поэтому я попытался изменить его
$config['base_url'] = base_url().'admin/view'.$table.'?sortby='.$sort.'&direction='.$dir;
но тем не менее, разбиение на страницы не устанавливается в nex t страница.
Если вы отсортировали таблицу, я бы рекомендовал отправить данные сортировки на страницу. Затем, перейдя на другую страницу, также передайте данные сортировки и используйте ее для сортировки отправляемых данных. –
Вы должны сохранить порядок сортировки в сеансе, чтобы иметь возможность его на следующем запросе (странице). – Tpojka
@JeremyJackson Что значит отправить данные сортировки на страницу? – aronccs