Intereting Posts

Неопределенное свойство: CI_Loader :: $ pagination

я работаю над функцией разбиения на страницы для своего сайта, я использую Codeigniter, и я продолжаю получать сообщение об ошибке, которое я не могу исправить, из-за чего у меня болит голова: D может кто-то взглянуть на мой код и сказать мне, где я поступил неправильно. im только bigginer.

ошибка – это Undefined property: CI_Loader::$pagination а также Fatal error: Call to a member function create_links() on a non-object in C:\.... tnx для ur help

 view.php <!doctype html> <html> <head> <meta charset=utf-8> <meta name=description content=""> <meta name=viewport content="width=device-width, initial-scale=1"> <title>Untitled</title> <link rel=stylesheet href="css/style2.css"> <link rel=author href="humans.txt"> </head> <body> <h1>Answer</h1> <?php if (isset($records)) : foreach($records as $row) : ?> <div = 'container'> <!--pagination --> <?php echo $this->pagination->create_links(); ?> <ul> <h1><?php echo $row->question; ?></h1> <li><?php echo $row->answer1; ?></li> <li><?php echo $row->answer2; ?></li> <li><?php echo $row->answer3; ?></li> <li><?php echo $row->answer4; ?></li> <li><?php echo $row->answer5; ?></li> <li><?php echo $row->answer6; ?></li> <ul> </div> <?php endforeach; ?> <?php else : ?> <h2>no records were returned</h2> <?php endif; ?> </body> </html> 

контроллер:

 <?php class Survay extends CI_Controller{ function index() { $data = array( 'question' => $this->input->post('question'), 'answer1' => $this->input->post('answer1'), 'answer2' => $this->input->post('answer2'), 'answer3' => $this->input->post('answer3'), 'answer4' => $this->input->post('answer4'), 'answer5' => $this->input->post('answer5'), 'answer6' => $this->input->post('answer6'), ); if($query = $this->membership_model->get_records()) { $data['records'] = $query; } $this->load->view('survay_view', $data); } function page() { //pagination $this->load->library('pagination'); $config['base_url'] = 'http://localhost/admin/index.php/survay'; $config['total_rows'] = $this->db->get('save_survay')->num_rows(); $config['per_page'] = 1; $config['num_links'] =20; $this->pagination->initialize($config); $data['records'] = $this->db-get('save_survay', $config['per_page'], $this->uri->segment(3)); $this->load->view('survay_view', $data); } } ?> 

В вашем контроллере перед строкой $this->load->view... вы должны сделать это:

 $data['pagination'] = $this->pagination->create_links(); 

и в представлении замените echo $this->pagination->create_links() с помощью

 echo $pagination; 

Обновить

Источник: см. Комментарий Джеемусу ниже

Я пропустил часть, что вы используете один и тот же вид в двух методах управления, и вы не добавляете разбиение на страницы в одном представлении.

так что вместо добавления echo $pagination; вы должны добавить это:

 // check if $pagination variable is existing if (isset($pagination)) { echo $pagination; } 

Вам нужно автозагрузить библиотеку разбиения на страницы … просто загрузить ее в функцию не будет.