![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 12 Dołączył: 9.01.2009 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam problem otóż potrzebuję zrobić możliwość ręcznej zamiany dwóch wartości tabeli odpowiedzialnej za kolejność wyświetlania. Dla przykładu.
Cytat coś_1 : 1; coś_2 : 2; coś_3 : 3; ... A chce osiągnąć że po naciśnięciu przycisku na np. coś_2 zmieni mi jego wartość z np. coś_3 albo coś_1 w zależności od tego który przycisk wciśniemy. Czyli po wciśnięciu przycisku + na coś_2 otrzymamy: Cytat coś_1 : 2; coś_2 : 1; coś_3 :3; ... a po wciśnięciu przycisku - na coś_2 otrzymamy: Cytat coś_1 : 1; coś_2 : 3; coś_3 :2; ... Próbowałem zrobić to samemu lecz efekt jest taki, że po naciśnięciu przycisku w bazie zmienia mi wartość na 0.
Ten post edytował Adis92 6.11.2012, 17:29:44 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Chodzi Ci żeby po wciśnięciu przycisku dany wiersz wędrował w górę lub w dół tabeli o jedną pozycję?
teraz zachodzi pytanie, czy ma uwzględniać sąsiedztwo pozycji czy id. Zakładam, że pozycji.
To takie dosyć schematyczne rozwiązanie, ale myślę, że załapiesz w czym rzecz. Ten post edytował b4rt3kk 6.11.2012, 17:51:59 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 12 Dołączył: 9.01.2009 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
b4rt3kk a więc tak działa ale do momentu jeżeli przenosimy niżej tylko jeden rekord po wybraniu innego rekordu w dół wcześniej przenoszony rekord zamienia się miejscem z nowo wybranym rekordem i nowy ze starym, a nie tak jak powinno być że zamienia się z poprzednim bądź następnym w kolejności. A co do przenoszenia do góry problem jest z limitem gdyż zaczyna przeszukiwanie od 0 czyli analogicznie od zawsze przenosi się na 1 pierwsze miejsce bo jest ono mniejsze od np 8 miejsca.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
b4rt3kk a więc tak działa ale do momentu jeżeli przenosimy niżej tylko jeden rekord po wybraniu innego rekordu w dół wcześniej przenoszony rekord zamienia się miejscem z nowo wybranym rekordem i nowy ze starym, a nie tak jak powinno być że zamienia się z poprzednim bądź następnym w kolejności. A co do przenoszenia do góry problem jest z limitem gdyż zaczyna przeszukiwanie od 0 czyli analogicznie od zawsze przenosi się na 1 pierwsze miejsce bo jest ono mniejsze od np 8 miejsca. Co do pierwszego zdania, nie za bardzo rozumiem, możesz jakoś jaśniej? Na przykładzie? A co do drugiego sprawę załatwi ORDER BY pozycja, odpowiednio DESC i ASC w zależności od tego czy przenosimy w górę czy w dól, bo wyszuka najbliższy rekord. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 146 Pomógł: 12 Dołączył: 9.01.2009 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Przykład: coś_1 przenoszę o 1 w dół aż dochodzę np do miejsca 6, następnie klikam w coś_3 żeby zamienić z miejscem coś_4 a zamiast tego coś_3 zamienia się z coś_1 które było na miejscu 6. Czyli teraz coś_1 przenosi się na miejsce 3 a coś_3 na miejsce 6.
Już działa winowajcą było zapytanie wystarczyło dodać odpowiednio ORDER BY DESC I ASC. Ten post edytował Adis92 7.11.2012, 00:05:33 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:09 |