![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 2 Dołączył: 13.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki problem. Robię galerię, w której można zmieniać pozycję zdjęć zależnie w górę i w dół. Zdjęcia ładują mi się według kolejności ID. Czyli wystarczy podmienić ID i zmieni się pozycja zdjęcia. Nie wiem jednak jak sprawdzić przed ostatni i kolejny istniejący numer ID z pobranej tablicy z bazy danych... Dosłownie można zrobić to np. odejmując 1, ale niekiedy poprzednie ID nie musi być pełne tylko puste bo wcześniej zdjęcie zostało uwunięte i ID leca np. 1,2,3,Puste, 5 itd. Proszę o pomoc Z góry dzieki |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Pierwszy i podstawowy blad jaki robisz to uzywanie ID jako pola do kolejnosci i zmienianie jego...
ID to pole, ktore identyfikuje rekord. ID dla danego rekordu z zalozenia ma się nie zmieniać. Dodaj sobie dodakowe pole KOLEJNOSC i na nim operuj |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 2 Dołączył: 13.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, ale do zmiany pozycji i tak będę potrzebował przed ostatniego i kolejnego rekorgu z tablicy "kolejnosc", jak sprawdzić jaką mają wartość ?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Chyba nie czaję twojego algorytmu: po co ci przedostani i kolejny element tablicy do zmiany kolejnosci?
Swoją drogą pobierasz je przy pomocy SELECT oraz LIMIT |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 2 Dołączył: 13.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No ja to sobie obmyśliłem tak:
Pobieram dane do wyświetlenia zdjęć: foto | góra | dół | usuń foto -> zdjęcie góra -> id i kolejnosc dół -> id i kolejność usuń -> id i nazwa Przykładowa kolejność: 1,2,3,4,5 I chce teraz zmienić 5 zdjęcie na 4 czyli naciskam góra i zmienia mi w bazie kolejność, czyli w tym wypadku można zrobić "kolejnosc - 1" Ale może też być tak, że wcześniej zostanie usunięte zdjęcie i będzie 1,2,3,5 i wtedy kolejnosc -1 nie zadziala i musze znać poprzedni rekord z tablicy... Jak to zrobić? Jeżeli źle rozumuję to za proponuj jakieś rozwiązanie bo ja nie wiem jak inaczej to zrobić... Znalazłem juz rozwiązanie: do tyłu: (wynik 6, jeżeli w kolejności nie będzie akurat 6 to poda najbliższy np. 5)
Do przodu:
dzieki |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:47 |