$this-> разбивка на страницы->create_links(); возвращает пустую строку

#php #codeigniter #pagination

#php #codeigniter #разбивка на страницы

Вопрос:

 <?php
    class Books extends CI_Controller {
    function __construct() {
    parent::__construct();
    $this->load->helper('url');
  }

  function index() {
    // load pagination class
    $this->load->library('pagination');

    $config['base_url'] = base_url().'books/index/';
    $config['total_rows'] = 2;
    $config['per_page'] = '5';
    $config['full_tag_open'] = '<p>';
    $config['full_tag_close'] = '</p>';

    $this->pagination->initialize($config);
    echo $this->pagination->create_links();

  }
    }
?>
  

Функция create_links(); похоже, не работает. Я не получаю никаких ошибок, но он просто возвращает пустую строку. Я пробовал оба http://blip.tv/nettuts/codeigniter-from-scratch-day-7-2690301 и http://godbit.com/article/pagination-with-code-igniter учебные пособия.

Я знаю, что в документации говорится http://codeigniter.com/user_guide/libraries/pagination.html The create_links() function returns an empty string when there is no pagination to show. но как мне это исправить? Спасибо вам!

Цитата из блока

Ответ №1:

Я думаю, потому что у вас нет никаких данных для разбивки на страницы. Это рабочий пример:

     $this->load->model('books_model', 'books');

    $offset = $this->uri->segment(n);
    $per_page = 5;
    $total = $this->books->total();
    $data['result'] = $this->books->get_all($per_page, $offset);

    $config['base_url'] = base_url().'books/index/';
    $config['total_rows'] = $total;
    $config['per_page'] = $per_page;

    $this->load->vars($data); // !!!
    $this->pagination->initialize($config);
  

Я надеюсь, что это поможет вам

Комментарии:

1. Если у вас нет модели, вы можете попробовать разбить массив на страницы: $data = array(‘страница 1’, ‘страница 2’) и т.д..

2. Да, в руководствах никогда не упоминалось о необходимости загружать $ data в виде переменных $this-> load-> vars($data). Я думаю, что они могут быть немного устаревшими.