Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter]Problem z paginacją
Forum PHP.pl > Forum > PHP > Frameworki
adbacz
No właśnie. Zrobiłem wszystko tak jak jest w UserGuide ale oprócz pojawienia się odnośników pod artykułem i zmiany adresu URL nic więcej się nie dzieje.

Mógłby mi ktoś wytłumaczyć co mogę robić źle i ewentualnie naprowadzić mnie na właściwą drogę?
szok
Pokaż kod, na chybił trafił nikt nie zgadnie, magikami to tylko niektórzy są wink.gif hehe

adbacz
szok, możesz mi wytłumaczyć jak zrobić tą paginację? W UserGuide jest tylko pokazane jak zrobić linki i poszczególną konfigurację ale ja za nic nie moge wprowadzić tego w życie bo poprostu nie umiem.

Nie znalazłem niestety w sieci nigdzie jakiegoś materiału żeby podpatrzeć.
szok
OK więc tak, krok po kroku
  1. $this->load->library('pagination');
  2.  
  3. $config['base_url'] = site_url('mojkontroler/mojaakcja/'); // tutaj adres twojej strony, gdzie na końcu adresu za moja akcja, CI wrzuci nr od którego zaczynasz w LIMIT w SQL
  4.  
  5. $config['total_rows'] = $this->db->count_all_results('mojatabela'); //Ile jest wszystkich wypisów w bazie
  6.  
  7. $config['per_page'] = '20'; // ile wpisów ma się pojawic na stronie
  8.  
  9. $config['uri_segment'] = 3; // na którym zegmenicie w URI jest NR o którym pisałem wyżej
  10.  
  11. $this->pagination->initialize($config);
  12.  
  13. if($this->uri->segment('3'))
  14. {
  15. $start = $this->uri->segment('3');
  16. }
  17. else
  18. {
  19. $start = 0;
  20. }
  21.  
  22. $data['list'] = $this->db->get('mojatabela', $config['per_page'] , $start)->result_array(); // pobieramy 20 elementów na stronę, zaczynajac od $start, czyli od 0, jezeli to pierwsza strona, lub on 3 elementu URI który to paginacja nam utworzy autmatycznie,
  23.  
  24. $data['pagination'] = $this->pagination->create_links(); // wyświetlenie kodu HTML, przekaż do sobie do widoku.
  25.  
  26. $this->load->view('mojwidok', $data);
qrooel
Pokaż jeszcze widok w którym używasz paginacji.

I dodaj sobie coś takiego.

  1.  
  2. $this->pagination->initialize($config);
  3.  
  4. $pagination['per_page'] = $config['per_page'];
  5. $pagination['get_segment'] = $this->uri->segment(3);
  6.  
  7. $data['pagination'] = $this->pagination->create_links();
adbacz
Dzięki chłopaki, ale problem w tym, że jak to wszystko zrobię, to wyświetlają mi się linki paginacji w widoku ale za nic nie wiem, jak zrobić tą listę aby było tyle wyników na stronie ile jest w $config['per_page'];/

Nie pokażę kodu widoku bo to nie ma sensu. Zrobiłem: echo $data_pagination['pagination']; i to wszystko, reszty nie mam pojęcia jak zdziałać.

Dobrze liczy ilość wyników z bazy i dobrze wyświetla ilość linków paginacji (35 wpisów i dwie strony) ale nie wiem jak zrobić tą listę. Chyba za głupi mój umysł albo ja jeszcze za mało w tym wszystkim siedzę.

EDIT:
Ok, rozpracowałem to. Dzięki wam wielkie, jestem bardzo wdzięczny smile.gif
szok
I po kłopocie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.