В этой статье буду разбивать информацию из БД на страницы (пагинация). Пагинация это набор ссылок позволяющих перемещаться по страницам. Для этого в CodeIgniter есть класс – Pagination. Он достаточно прост в настройке. Итак приступим.
Сначала подгружаем библиотеку пагинации:
$this->load->library('pagination');
Далее указываем полный путь к классу контроллера/функции, содержащую номер страницы:
$config['base_url'] = 'http://blog.alenin.info/index.php/рblog/index';
Далее рассчитываем число страниц, возвращаемых запросом к базе данных:
$config['total_rows'] = $this->db->count_all('article');
Указываем количество статей, которые будут одновременно показываться на странице:
$config['per_page'] = 5;
Начиная с версии CodeIgniter 2.1.0 в урле можно показывать актуальный номер страницы. Для этого есть параметр: use_page_numbers
$config['use_page_numbers'] = TRUE;
Далее добавляем элементы разметки:
$config['full_tag_open'] = '<p>'; /*элементы разметки*/
$config['full_tag_close'] = '</p>'
Далее инициализируем переменную $config:
$this->pagination->initialize($config);
Теперь выводим нашу пагинацию в отображении. Для того что бы потом в стилях настроить нормальный вил пагинации, я создал div id="pagination". В него поместил код:
<?=$this->pagination->create_links();?>
Проверяем результат – листалка страниц готова.