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