Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Stronnicowanie danych pobieranych z dokumentu XML.
Forum PHP.pl > Forum > PHP
MattG
Witam!

Mam taki oto problem, otóż:

Pobieram sobie wpisy z bazy danych XML za pomocą SimpleXML z użyciem pętli foreach.

Zawartość pliku XML jest następująca:



  1. <wpis>...</wpis>
  2. <wpis>...</wpis>
  3. ...




Newsy ponumerowałem sobie poprzez zmienną która znajduje się w pętli foreach.
Teraz chciałbym podzielić to tak abym na jednej stronie miał 4 newsy i jeśli pętla tworzy kolejny news to ten news leci na kolejną stronę.

Chciałbym się dowiedzieć w jaki sposób można tą kolejną część newsów "wysłać" na podstronę numer 2.

Pozdrawiam.
kipero
Na podstronie numer 2 musisz po prostu "przelecieć" pierwsze 4 elementy i wyświetlać następne. Chyba, że podzielisz te newsy na części i zapiszesz oddzielnie.
Greg0
Lub przycinać odpowiednio tablicę, przydatna funkcja array_slice
MattG
Cytat(kipero @ 8.05.2013, 17:55:22 ) *
Na podstronie numer 2 musisz po prostu "przelecieć" pierwsze 4 elementy i wyświetlać następne. Chyba, że podzielisz te newsy na części i zapiszesz oddzielnie.



A mógłbyś mi wyjaśnić albo w jakiś sposób przedstawić jak wyświetlić te wpisy na drugiej, trzeciej i kolejnej podstronie? Korzystam tylko z foreachów (bez użycia tablic), zrobiłem skrypcik tworzący kolejne podstrony 1,2,3,4... ale nie wiem jak zrobić aby te wpisy znalazły się na tych podstronach.

Pozdrawiam.
Greg0
Jeśli korzystasz z foreach to albo zapętlasz tablicę albo obiekt. W wypadku simpleXML jest to tablica. Więc jeśli dostajesz tablicę z wszystkimi wpisami, w zależności od strony którą chcesz wyświetlić przycinasz odpowiednio tą tablicę tak aby zawierała tylko te wpisy które po przypadają na daną stronę z zadanym limitem wyświetlania.
W tym przykładzie masz tablicę z całym alfabetem, limit liter na stronę to 3, a manipulując zmienną $page zmieniasz stronę.
Potraktuj to jako schemat działania: http://codepad.org/JjwcM7VP
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.