Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak sprawdzić przedostatni i kolejny rekord tablicy ?
piotrekk
post
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
Go to the top of the page
+Quote Post
nospor
post
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
Go to the top of the page
+Quote Post
piotrekk
post
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ść ?
Go to the top of the page
+Quote Post
nospor
post
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
Go to the top of the page
+Quote Post
piotrekk
post
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)

  1. $query = "SELECT * FROM galeriaTest WHERE kolejnosc < '7' order by kolejnosc desc limit 1";


Do przodu:

  1. $query = "SELECT * FROM galeriaTest WHERE kolejnosc > '7' order by kolejnosc asc limit 1";


dzieki
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: 23.08.2025 - 23:47