2015-05-03 5 views
0

это мой класс:Получение ошибки 404 для CodeIgniter пагинации

class Pacients extends CI_Controller { 
    public function __construct(){ 
     parent::__construct(); 
     $this->load->helper(array('form', 'url')); 
     $this->load->library('form_validation'); 
     $this->load->library('email'); 
     $this->load->library('session'); 
     $this->load->library('pagination'); 

     $this->load->model('pacient_model'); 
     $this->load->model('department_model'); 
    } 
    public function index(){ 
     $id_doctor = $this->session->userdata('userid'); 
     $department = $this->department_model->get_department_by_doctor($id_doctor); // get deparmentd_id 
     $diagnostics = $this->department_model->get_diagnostics($department[0]->department_id); // get diagnostics by using deparment id 
     $department_data = $this->department_model->get_department_by_id($department[0]->department_id); // get all info about deparment 

     //start pagination 
     if ($this->uri->segment(2) == null || $this->uri->segment(2) == ""){ 
      $limit = 0; 
     }else{ 
      $limit = $this->uri->segment(2); 
     } 
     $get_pacients = $this->pacient_model->get_pacients_by_doctor($id_doctor, $limit); 
     $total = $this->pacient_model->get_total_pacients_by_doctor($id_doctor); 
     $config['base_url'] = base_url().'pacients'; 
     $config['total_rows'] = $total[0]->total; 
     $config['per_page'] = 3; 
     $this->pagination->initialize($config); 
     // end pagination 
     $data = array(
      'pacients'  => $get_pacients, 
      'diagnostics'  => $diagnostics, 
      'department_data' => $department_data 
     ); 
     if (!$diagnostics){// check if there any diagnostic in db associated to the current department 
      $data['error'] = 1;// if it is 1 then a form will apears in the view 
     } 

     $this->load->view('frontend/common/header'); 
     $this->load->view('frontend/pacients',$data); 
     $this->load->view('frontend/common/footer'); 
    } 
} 

В get_pacients переменного У меня есть все результаты, и я получил все пожелавшие результаты. в виду, показывает мне разбиение на страницы. но когда я нажал на странице 2, он показывает мне страницу 404. Это странно, на другой странице я использовал ту же реализацию pagination, и она работает. URL-адрес выглядит следующим образом:

http://localhost/licenta/pacients 

У вас есть идеи, почему я получу 404? Я использую Codeigniter 3. Thx заблаговременно

+0

вы можете показать вид для пациента? –

+0

это на виду: echo $ this-> pagination-> create_links(); –

+0

в кодеиндигнере по умолчанию 2-й сегмент URI - это метод класса. поэтому вам нужно изменить переменную pagination на '$ this-> uri-> segment (3);' и base_url на '$ config ['base_url'] = base_url(). 'pacients/index';' другой мудрый codeigniter будет попробуйте загрузить метод, который на самом деле является вашей переменной pagination. – Kamran

ответ

0

В кодеигниторе по умолчанию 2-й сегмент URI - это метод класса. поэтому вам нужно изменить переменную разбиения на страницы, чтобы внести эти изменения.

$this->uri->segment(2); в $this->uri->segment(3);

$config['base_url'] = base_url().'pacients/index';

Смежные вопросы