2016-06-20 5 views
0

Как я могу сделать разбиение на страницы не сбросить сортировку со страницы 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">&larr;</span> First'; 
      $config['last_link'] = 'Last <span aria-hidden="true">&rarr;</span>'; 
      $config['first_tag_open'] = '<li>'; 
      $config['first_tag_close'] = '</li>'; 
      $config['prev_link'] = '&laquo'; 
      $config['prev_tag_open'] = '<li class="prev">'; 
      $config['prev_tag_close'] = '</li>'; 
      $config['next_link'] = '&raquo'; 
      $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 страница.

+0

Если вы отсортировали таблицу, я бы рекомендовал отправить данные сортировки на страницу. Затем, перейдя на другую страницу, также передайте данные сортировки и используйте ее для сортировки отправляемых данных. –

+1

Вы должны сохранить порядок сортировки в сеансе, чтобы иметь возможность его на следующем запросе (странице). – Tpojka

+0

@JeremyJackson Что значит отправить данные сортировки на страницу? – aronccs

ответ

1

Я выяснил решение. То, что я сделал, было добавить $config['reuse_query_string'] = TRUE;

+0

Не могли бы вы объяснить мне, как сортировать ajax вместе с поиском. – Shihas