Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie
-ThenesyT-
post 18.01.2006, 15:03:38
Post #1





Goście







Witam

Mam pewien problem do rozwiazania i chcialbym prosic was o podpowiedz jak go rozwiazac.
Wiec tak mam tabele Mysql-u gromadzaca dane lista_gier_id, uzytkownik_id, gra_id, kolejnosc_gry int gdzie zapisana jest nr pozycji danej gry.

Formularz wyglada nastepujaco:

| Kolejnosc | Nazwa_gry | do_gory_o_1_poz | na_dol_o_1_poz | Kasuj |
[1] Jakas nazw /\ \/ X
. . . . .
[100] Jakas nazw /\ \/ X

Problem polega na tym ze uzytkownik zmienia kolejnosc danej gry wpisujac w polu kolejnosc (jest inputem typu text value kolejnosc_gry) inne miejsce danej gry np. zmienic kolejnosc gry z 100 na 1 itd. Jak by ktos mi opisal jak to by rozwiazal poniewaz sam juz piszac ten skrypt niezle sie zakrecilem i nie wiem czy dobra metode obralem
Z gory dzieki .
Pozdro
ThenesyT
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-ThenesyT-
post 19.01.2006, 10:27:03
Post #2





Goście







Cytat(kszychu @ 2006-01-18 14:25:31)
Ja to widzę tak:
przy każdej grze dajesz select/input z mozliwoscią wyboru/wpisania miejsca.
reszte, czyli zmiane miejsca musisz zrobić w bazie.
Załóżmy, że x to miejsce zajmowane dotychczas przez grę a y to nowe miejsce, podane przez użytkownika.
Musisz zrobić dwa zapytania:
- zmiana miejsc pozostałych pozycji:
  1. UPDATE tabela SET kolejnosc_gry = kolejnosc_gry + 1 WHERE kolejnosc_gry BETWEEN 'x' AND 'y'

- zmiaqna miejsca danej gry:
  1. UPDATE tabela SET kolejnosc_gry = 'y' WHERE kolejnosc_gry = 'x'


Wielkie dzieki za podpowiedz wlasnie chodzilo mi o te zapytania sql-owe troche dodalem i napisze jak to umnie dzial moze komus sie przyda.


dla x>y gdy miejsce zajmowane dotychczas jest wieksze od pozycji zmienianej

  1. UPDATE tabela SET kolejnosc_gry = kolejnosc_gry + 1 WHERE kolejnosc_gry BETWEEN 'y' AND 'x'

Kod
$i = $x+1;

  1. UPDATE tabela SET kolejnosc_gry ='y' WHERE kolejnosc_gry = '" . $i . "' AND id_zmienianej_gry = 'id_zmienianej_gry'
'

analogicznie gdy x<y tylko zmieniamy

  1. UPDATE tabela SET kolejnosc_gry = kolejnosc_gry - 1 WHERE kolejnosc_gry BETWEEN 'x' AND 'y'

Kod
$i = $x-1;

tu bez zmian
  1. UPDATE tabela SET kolejnosc_gry ='y' WHERE kolejnosc_gry = '" . $i . "' AND id_zmienianej_gry = 'id_zmienianej_gry'
'

Dziala elegancko
Pozdrawiam
ThenesyT
Go to the top of the page
+Quote Post

Posty w temacie
- ThenesyT   Sortowanie   18.01.2006, 15:03:38
- - Apo   Niewiem dokładnie o co ci chodzi. Ale możesz użyć ...   18.01.2006, 15:24:31
- - kszychu   Ja to widzę tak: przy każdej grze dajesz select/in...   18.01.2006, 15:25:31
- - ThenesyT   Cytat(kszychu @ 2006-01-18 14:25:31)Ja to wid...   19.01.2006, 10:27:03


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:48