Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Galeria zdjęc - zdjęcie 1 z 15
bobo1
post
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
Spawnm
post
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
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.
Go to the top of the page
+Quote Post
bobo1
post
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
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
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 (IMG:style_emoticons/default/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
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ć (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.09.2025 - 16:38