![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Wiatm,
nie mogę dojść z napisaniem zapytania. Chodzi o schemat taki jak jest w galeriach. Mamy wybrane zdjęcie o jakimś ID (klucz) i dla tego zdjęcia potrzebuje pobrać ID poprzedniego i następnego zdjęcia. Z tym, że poprzednie i następne zależy od ID Kategorii. Jeśli poprzednie przed kluczowym należy do innej kategorii należy wybrać poprzednie, ale kolejne z tej samej kategorii co ID klucz i analogicznie następne. Jak napisać takie zapytanie? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Tu masz przykład jak to pobrać z bazy danych, aczkolwiek osobiście pobrałbym wszystkie id, zapisał do sesji w postaci tablicy i wtedy łatwo pobierasz ID następnego/poprzedniego zdjęcia, zmniejszając lub zwiększając klucz tablicy o 1
poprzednie ID
następne ID
oczywiście to przykład uproszczony, więc należy dodać odpowiednie zabezpieczenia. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 577 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem w ten spsób wcześniej, ale dla poprzednie ID otrzymywałem pierwsze ID (1)
Dodałem do zapytań SELECT MAX i SELECT MIN i teraz jest ok. Dzięki też za podpowiedź, może i na tablicy byłoby bardziej prawidłowo, ale tak już działa, więc zostaje przy tym. Odpowiednie zabezpieczenia. Co masz tutaj na myśli? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Cytat Odpowiednie zabezpieczenia. Co masz tutaj na myśli? ID zdjęcia obecnie wyświetlanego zapewne pobierasz z adresu URL, więc warto sprawdzić czy jest liczbą całkowitą, oraz użyć funkcji mysql_real_escape_string() przy wstawianiu zmiennych do zapytania zapewne w tamtych zapytaniach przydałoby się jeszcze ORDER BY id Ten post edytował tehaha 20.12.2010, 19:54:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 1.10.2025 - 21:50 |