PHP CodeIgniter Разбитая ссылка на страницы - PullRequest
1 голос
/ 03 декабря 2011
public function index($page = 0) {
    $this->load->library('pagination');
    $conf = array(
        'total_rows' => 11,
        'base_url' => 'localhost/admin/product/index',
        'per_page' => 10,
        'use_page_numbers' => false
    );
    $this->pagination->initialize($conf);
    $this->load->view('product/index');
}

В поле зрения

<?php echo $this->pagination->create_links(); ?>

На первой странице все работает правильно.Когда я нажимаю на ссылку на странице 2, она отображает только ОДИН продукт, это было правильно, но ссылки на страницы для текущей страницы по-прежнему на ОДНОЙ странице.Предположим, это должна быть страница ДВА.

, какую часть я сделал неправильно?

1 Ответ

0 голосов
/ 03 декабря 2011

Ну, класс разбиения на страницы использует "per_page" в строке запроса. Таким образом, вы должны разделить это число на 10 (в вашем случае) и добавить 1, чтобы получить реальный номер страницы, т.е.

localhost/product/index (page 1)
localhost/product/index?per_page=10 (page 2)
localhost/product/index?per_page=20 (page 3)
...
localhost/product/index?per_page={10n) (page n+1)

Это полезно использовать непосредственно в предложении лимита базы данных:

$this->db->limit(10, $this->input->get('per_page'))...

Я думаю, именно поэтому CI решил сделать это таким образом ...

...