![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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ć. |
|
|
![]()
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
|
|
|
![]()
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. |
|
|
![]()
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. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 1 Dołączył: 7.03.2008 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. Dzięki. Zmieniłem w warunku na <= ale to generalnie to samo co + 1 w tym przypadku ![]() 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 ... |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:40 |