Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Galeria zdjęc - zdjęcie 1 z 15
bobo1
post 2.05.2011, 09:04:48
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 7.03.2008

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


Mam galerie zdjęć. Informacje na temat zdjęć są przechowywane w tabeli PHOTOS o strukturze

idPhoto
idAlbum
Photo

Zdjęcia są sortowane przy pomocy idPhoto

Chciałem dodać taki mały bajer, jak użytkownik przegląda zdjęcia to widzi napis "zdjęcie 4 z 15" plus napis kolejne / poprzednie zdjęcie. Jak można rozwiązań ten problem w elegancki sposób?

Ten post edytował bobo1 2.05.2011, 09:15:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Spawnm
post 2.05.2011, 09:20:57
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Napisz pager (paginację).
W sieci masz spoko kursów jak to zrobić.
Go to the top of the page
+Quote Post
cezarszl
post 2.05.2011, 09:21:02
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 1
Dołączył: 18.11.2009
Skąd: Cz-wa

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


Jeżeli chcesz wykorzystać w tym celu tylko i wyłącznie PHP i MySql to pewnie Ci nie pomogę. Ale popularnym i na pewno eleganckim rozwiązaniem jest ten plugin do jQuery.


--------------------
ja być noob
Go to the top of the page
+Quote Post
bobo1
post 2.05.2011, 10:07:57
Post #4





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 7.03.2008

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


Problem jest tego typu, że nie chcę dodawać kolejnej zmiennej określającej stronę. Chcę przekazywać tylko dwa parametry idAlbum oraz idPhoto.

Nawet jeżeli zastosuje dodatkowy parametr strona to i tak to nie do końca rozwiązuje problem. Ponieważ określenie idPhoto dla strona 4 już nie jest takie banalne. W sensie trzeba tworzyć dodatkowe zapytania za każdym razem.

Byłbym wdzięczny za jakiś link do artykułu w którym jest opisany ten problem.
Go to the top of the page
+Quote Post
nekomata
post 2.05.2011, 11:30:10
Post #5





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Ja bym to załatwił tak :
- link bym zrobił .htaccessem żeby wychodziło /album/id które będzie przekazywane do GET
- Pobierasz z bazy :
- zdjęcie o podanym id
- Używając COUNT(idPhoto) WHERE idPhoto < GET_ID_ZDJECIA AND idAlbum = GET_ID_ALBUMU (dodajesz tylko +1 i masz np. Zdjęcie 4..) ... zapisujesz powiedzmy jako $numer_zdjęcia
- Używając COUNT(idPhoto) WHERE idAlbum = GET_ID_ALBUMU (I masz już dwie zmienne potrzebne do "Zdjęcie 4 z 15" ) zapisujesz powiedzmy jako $ilość_zdjęć
- Jeśli $numer_zdjęcia < $ilość_zdjęć wyświetlasz link do następnego zdjęcia.. czyli odebrany GET +1.
- Jeśli $numer_zdjęcia == 0 wyświetlasz link do poprzedniego....
Chyba dosyć rozpisałem całą sprawę... oczywiście możesz użyć jednego zapytania aby pobrać wszystkie potrzebne dane , ale nie chce mi się kombinować żeby ci to napisać teraz.
Go to the top of the page
+Quote Post
bobo1
post 2.05.2011, 13:31:24
Post #6





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 7.03.2008

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


Cytat(nekomata @ 2.05.2011, 12:30:10 ) *
Ja bym to załatwił tak :
- link bym zrobił .htaccessem żeby wychodziło /album/id które będzie przekazywane do GET
- Pobierasz z bazy :
- zdjęcie o podanym id
- Używając COUNT(idPhoto) WHERE idPhoto < GET_ID_ZDJECIA AND idAlbum = GET_ID_ALBUMU (dodajesz tylko +1 i masz np. Zdjęcie 4..) ... zapisujesz powiedzmy jako $numer_zdjęcia
- Używając COUNT(idPhoto) WHERE idAlbum = GET_ID_ALBUMU (I masz już dwie zmienne potrzebne do "Zdjęcie 4 z 15" ) zapisujesz powiedzmy jako $ilość_zdjęć
- Jeśli $numer_zdjęcia < $ilość_zdjęć wyświetlasz link do następnego zdjęcia.. czyli odebrany GET +1.
- Jeśli $numer_zdjęcia == 0 wyświetlasz link do poprzedniego....
Chyba dosyć rozpisałem całą sprawę... oczywiście możesz użyć jednego zapytania aby pobrać wszystkie potrzebne dane , ale nie chce mi się kombinować żeby ci to napisać teraz.



Dzięki. Zmieniłem w warunku na <= ale to generalnie to samo co + 1 w tym przypadku smile.gif
SELECT COUNT( idPhoto )FROM photos WHERE idPhoto <= GET_ID_ZDJECIA AND idAlbum = GET_ID_ALBUMU

Co linku do kolejnego zdjęcia to GET_ID_ZDJECIA + 1 jest nie wystarczające, ponieważ kolejne ID + 1 może należeć do innego albumu, więc należy to rozwiązać inaczej. Zastanawiam się jak ...


Go to the top of the page
+Quote Post
nekomata
post 2.05.2011, 19:55:45
Post #7





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


Oh sorry.. moja pomyłka z tym linkiem..
Ja bym zrobił coś takiego
  1. SELECT idPhoto FROM zdjecia WHERE idPhoto > GET_ZDJECIA AND idAlbum = GET_ALBUM LIMIT 1
Z palca ale powinno działać biggrin.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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:40