Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana pozycji na liście
Forum PHP.pl > Forum > PHP
4nheru
Witam,
głowię się nad skonstruowaniem listy, której można zmieniać pozycje. Np.:

Jest lista:
- Telefon
- Kawa
- Długopis

Po kliknięciu w przycisk "do góry" przy pozycji Kawa:

- Kawa
- Telefon
- Długopis

Niby proste ale albo już mi sie przegrzały zwoje mózgowe, albo wcale nie takie proste winksmiley.jpg
Skrypt ma działać na bazie mysql, więc wymyśliłem tak:

Do każdej pozycji w bazie wartość x+1000 (startując od 1000). Czyli:

- Telefon (1000)
- Kawa (2000)
- Długopis (3000)

W momencie kliknięcia 'do góry' przy Kawa:

1. Wyciągnięcie pierwszej pozycji z wartością mniejszą niż wartość pozycji Kawa
2. Odjęcie od uzyskanej wartości 1
3. zapis wyniku jako wartości pozycji Kawa

Analogicznie przy opcji 'w dół' by się dodawało itd.

Problem polega na tym, że prędzej czy później może dojść do sytuacji gdzie wartości spotkają się jedna przy drugiej:

- Telefon (1000)
- Kawa (1001)
- Długopis (1002)

...a wtedy lipa. Można by sprawdzać czy wyjściowa wartość już istnieje ale wtedy trzeba by zmieniać już dwie wartości albo i więcej... Można by też zamiast po 1000, dać po 1000000 ale koniec końców kiedyś tam znów zaistnieje problem.

Ponieważ już dzisiaj nie wymyślę nic ciekawszego, chciałbym zapytać czy znacie jakieś prostsze rozwiązania lub jak obejść powyższy problem winksmiley.jpg

Pozdrawiam
tehaha
nie rozumiem, dlaczego chcesz takie duże liczby dawać skoro to niczego nie daje...przeczytaj ten wątek tu jest opisany dokładnie Twój problem http://www.webmasterworld.com/databases_sq...sql/3726564.htm
4nheru
W sumie sam nie wiem dlaczego na to nie wpadłem :| Prościej być nie mogło... to chyba jednak zmęczenie.
Dzięki za pomoc, pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.