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ę.
Skomentuj