Muszę na zaliczenie przedmiotu zrobić jakąś stronę w PHP. Postanowiłem, że zrobię "prosty" skrypt - coś takiego jak demotywatory.
Mam problem z zaplanowaniem bazy danych i wczytywaniem obrazków. Nie oczekuje gotowych odpowiedzi tylko proszę, żeby mnie naprowadzić jak powinienem to zrobić. Obecnie strona działa ale nie tak jak powinna, otóż:
Mam bazę danych memownia z tabelą zdjecia:
+----+----------------+--------+-------+------------------------------------------------+ | id | zdjecie | userid | ocena | opis | +----+----------------+--------+-------+------------------------------------------------+ | 4 | obrazki/6.jpg | 0 | 0 | NULL | | 5 | obrazki/5.jpg | 0 | 0 | NULL | | 6 | obrazki/4.jpg | 0 | 0 | NULL | | 7 | obrazki/3.jpg | 0 | 0 | NULL | | 8 | obrazki/2.jpg | 0 | 0 | NULL | | 10 | obrazki/10.jpg | 0 | 0 | NULL | | 11 | obrazki/11.jpg | 0 | 0 | NULL | | 12 | obrazki/12.jpg | 0 | 0 | NULL | | 13 | obrazki/13.jpg | 0 | 0 | NULL | | 14 | obrazki/14.jpg | 0 | 0 | Zdjęcie przedstawia ujęcie z filmu Gladiador | | 15 | obrazki/33.gif | 0 | 0 | NULL | | 16 | obrazki/34.gif | 0 | 0 | NULL | | 17 | obrazki/35.gif | 0 | 0 | NULL | | 18 | obrazki/36.gif | 0 | 0 | NULL | | 19 | obrazki/37.gif | 0 | 0 | NULL | | 20 | obrazki/38.gif | 0 | 0 | NULL | | 22 | obrazki/39.gif | 0 | 0 | NULL | | 23 | obrazki/40.gif | 0 | 0 | NULL | | 24 | obrazki/41.gif | 0 | 0 | NULL | | 25 | obrazki/42.gif | 0 | 0 | NULL | +----+----------------+--------+-------+------------------------------------------------+
Napisałem skrypt php, który wczytuje obrazki po 10 sztuk na stronę za pomocą pętli for. Pętla for wczytuje obrazki po numerze ID. Pomysł był dobry dopóki nie usunąłem parę wpisów, które stworzył luki w ID - i jak łatwo się domyślić na jednej stronie mam 6 obrazków a na innych 7 czy 6.
Drugim rozwiązaniem jakie przyszło mi do głowy jest wczytanie wszystkich wierszy tabelki za pomocą fetch_assoc i przypisanie każdego wiersza do tablica_obrazków[] - rozwiązanie dobre na krótką metę. Dopóki w bazie mam mało obrazków jest dobrze ale jak dodałem ponad 1000 wpisów to wczytywanie każdej strony trwało wieki..
Nie wiem jak rozwiązać ten problem. Jak powinien wyglądać poprawnie zaimplementowany mechanizm działania takiej strony? Gdzie trzymać obrazki? - w jednym katalogu? czy jakoś podzielić je na miesiąc dodania itp..
aha i jeszcze jedno obrazki muszą być wczytywane od dołu do góry czyli najnowsze na pierwszej stronie a najstarsze na ostatniej.
Jestem dopiero początkujący w PHP więc proszę o wyrozumiałosć.
Mogłem zrobić prostszy projekt ale chciałem się czegoś nauczyć.
Pozdrawiam.