Hej, może się wydawać że jest banalne, ale chcę uzyskać efekt którego możliwe że się nie da uzyskać, albo kieruje się nie właściwymi torami..
W skrócie o co mi chodzi, otóż robię galerie, która będzie działała na zasadzie katalogów. Każdy użytkownik ma swój katalog, wewnątrz katalogu są katalogi z albumami, a dopiero w albumach są pliki graficzne. Nie chciałem opierać tego o bazę danych, ponieważ chciałbym żeby ta galeria była jak najlżejsza. Początkowo, generowałem sobie wewnątrz albumu do każdego pliku graficznego katalog o nazwie numerycznej. Dzięki czemu paginacja była jak najbardziej możliwa. Teraz jednak chciałbym to trochę bardziej usprawnić, bo co jeżeli user doda 100 parę plików do jednego albumu, lub doda 100 parę albumów? Zatem strukturę katalogów i plików przeniosłem na tablice które z kolei serializuje w głównym katalogu galerii użytkownika.
Teraz o ile łatwo jest tablice paginować poprzez je klucz (klucz => wartosc) kiedy klucz jest tylko numeryczny. Jednak chciałbym uzyskać efekt gdzie klucz przyjmuje bardzo podobną wartość do obrazka czyli: klucz-12345 => klucz-12345.jpg i teraz jeżeli użytkownik zamierza sobie zaktualizować obrazek, żeby inni użytkownicy nie musieli odświeżać strony w poszukiwaniu zmian, lub żeby zmiany były od razu uwzględniane (stąd oparcie o tablice) to klucz się nie zmienia, lecz wartość już tak. Dzięki czemu zmienia się link do obrazka którego chcę wyświetlić, a sam adres jest nie zmieniony (adres strony na której znajduje się link do obrazka). Samo takie działanie nie jest aż tak trudne bo ile to GET'em uzyskać idetyfikator klucza. Tylko jak do całości dorobić "poprzednia strona" "następna strona" ? próbowałem się poruszać po tablicach, ale niestety mi to zupełnie nie wychodzi. Wystarczy że dodałem warunek który wyświetla przycisk "następna" "poprzednia" w zależności czy to jest koniec tablicy czy początek, a samo użycie end() i reset() powoduje przesunięcie wewnętrznego wskaźnika, przez co nie mogę przyciskom "następna" "poprzednia" przekazać wartości.
I teraz pytanie, czy ktoś ma pomysł jak to zrobić? Fajnie by było na tablicach, bo nie chcę do tego zaprzęgać bazy danych, ze względów optymalizacyjnych.
Wszelkie sugestie mile widziane. Jeżeli istnieje temat, to mnie skarcić i wskazać ewentualnie link (szukałem, nie znalazłem, może źle szukałem).