Nie ma znaczenia skąd są dane dane są i już.
Co ma znaczenie to ile wierszy mają dane u ciebie reprezentujesz to funkcją count();
Mamy zatem ilość danych. powiedzmy 8 wierszy.
Dalej dzielimy 8 wierszy przez liczbę wyświetlanych
powiedzmy 2 wiersze.
Zatem 8 przez 2 daje nam 4 podstrony po 2 wiersze.
mamy zatem
$iloscWierszy = 8;
$iloscPodstron = 4;
$informacji=2;
A więc wiemy że potrzebujemy ID czyli naszą aktualną stronę.
Jak ją uzyskać?
A no
ID*$informacji
Zatem na drugiej podstronie znajdą się dane
2*2 a więc 4
Widzimy błąd dlaczego? bo dane jadą nie od zera.
A więc
(ID - 1) * 2 daje nam 0
(ID - 1) * 2 daje nam 2
(ID - 1) * 2 daje nam 4
(ID - 1) * 2 daje nam 6
A więc zgadza się.
Co dalej?
By wypisać wyniki
while (powtórz 2 razy)
I NAWIGACJA NA STRONIE akurat pisałem to w innym poście a więc przekleje i tutaj
Ja to robię tak
że dziele sobie całe stronicowanie na 3 części a wiec LEWĄ ŚRODKOWĄ PRAWĄ
Lewa są to wyniki dla stron poprzednich
ŚRODKOWA aktualny wynik i wystarczy przepisać ID z GET
PRAWA wyniki z prawej strony czyli dla następnych.
Mamy więc 3 rzeczy do obliczenia.
ŚRODEK JUZ MAMY
Pozostają nam dwie rzeczy PRAWA i LEWA strona.
Są one identyczne lecz inne logicznie i arytmetycznie a więc zamiast < dajemy > zamiast + dajemy - itd.
Jak to zrobić
Musimy znać kilka zmiennych ile ma pojawić się przed i po środkowym (to ta sama zmeinna) oraz rzecz jasna ID
private function obliczNumeryPo($strona, $iloscZaIPrzed, $iloscPodstron ){
while($strona < $iloscPodstron && $iloscZaIPrzed > 0){
$strona++;
$iloscZaIPrzed--;
$tablica[$strona] = $strona;
}
return $tablica;
}
Tutaj jeszcze dodaj dla odwrotnego ksort(); i będzie hulać