Paginacja, czyli podział na strony, w CodeIgniter-ze jest dość prosta. Krok po kroku opiszę, co należy zrobić.

Zaczniemy od pliku kontrolera. Pierwszym krokiem jest załadowanie biblioteki paginacji:

$this->load->library(’pagination’);

Gdy załadujemy bibliotekę – musimy dokonać konfiguracji, poprzez określenie:

- ilości wszystkich rekordów (wartość tę najczęściej będziemy musieli wcześniej uzyskać poprzez odwołanie się do bazy danych)

$config['total_rows'] = ‘200′;

- ilości rekordów, jakie mają znajdować się na jednej stronie wyników

$config['per_page'] = ‘15′;

- numery segmentu w adresie URL, który określał będzie, które mają zostać wyświetlone

$config['uri_segment'] = 2;

- podstawę url-a, w oparciu o którą będą tworzone linki do podstron z wynikami:

$config['base_url'] = ‘/produkty/’;

- polską nazwę, która pojawi się jako anchor linku do ostatniej strony z wynikami (opcjonalnie)

$config['last_link'] = ‘Ostatnia’;

- polską nazwę, która pojawi się jako anchor linku do pierwszej  strony z wynikami (opcjonalnie)

$config['first_link'] = ‘Pierwsza’;

Następnie inicjujemy:

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

i zapisujemy w zmiennej ‘navi’ fragment kodu odpowiedzialny za wyświetlenie linków do podstron na stronie z wynikami:

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

Pozostało nam jeszcze pobrać odpowiednie rekordy z bazy danych:

$this->data['query'] = $this->db->get(’tabela’, $config['per_page'], $this->uri->segment(2));

W pliku widoku musimy wyświetlić listę rekordów pobranych przed chwilą z bazy oraz zmienną ‘navi’. I mamy gotową paginację.