Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Stronicowanie tablic
by_ikar
post
Post #1





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


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).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Kethrax
post
Post #2





Grupa: Zarejestrowani
Postów: 80
Pomógł: 3
Dołączył: 9.12.2006
Skąd: Kraków

Ostrzeżenie: (10%)
X----


Zastanów się nad bazą danych.
Nie musi być wcale taka ciężka, możesz w niej trzymać tylko linki do fotek.


--------------------
Historia wynalazków naukowych i technicznych uczy nas, że rasa ludzka uboga jest w niezależną myśl twórczą i wyobraźnię... człowiek musi niejako dosłownie potknąć się o rzecz samą, aby mu zakwitła Idea. [b]Albert Einstein[/b]
Go to the top of the page
+Quote Post
by_ikar
post
Post #3





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


I tak też będę musiał zrobić, bo jednak pomysł z zserializowanymi tablicami i ich paginacją to jest zwyczajnie przekombinowane. Jedno czy dwa zapytania (listę albumów i tak zrobię w tablicy! tongue.gif) więcej na stronie różnicy mi nie zrobi. Dzięki za pomoc smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 06:47