Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana pozycji na liście, skrypt php/mysql, rozwiązanie problemu
4nheru
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.09.2010

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/winksmiley.jpg)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
4nheru
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.09.2010

Ostrzeżenie: (0%)
-----


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.
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: 24.12.2025 - 21:57