Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Schemat działania, usuwanie i aktualizacja kilku rekordów w bazie
warna
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 15.04.2006

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


Witam. Tym razem na dobre utknąłem i muszę zwrócić się do Was o pomoc. Postaram się opisać sytuację w miarę obrazowo:
[ kolejka ]
- mecz
- mecz
- mecz

W każdym meczu mam 2 drużyny, w zależności od ilości strzelonych bramek przydzielane są punkty (2 lub 1). Trzymam je w tabeli z drużynami w osobnym polu.

Przy usuwaniu/edycji wyniku meczu dane dotyczące punktów zmieniają się w tabeli drużyn. Teraz jeśli chciałbym usunąć całą kolejkę. Co za tym idzie muszę usunąć mecze do niej należące i zredukować punkty drużyn za usuwane mecze. I już zaczynają się schody.

Widzę na razie takie rozwiązanie:
- pobranie id meczy, które należą do usuwanej kolejki
- razem z nimi pobieram id drużyn, które grały w danym meczu
- pętla (-.-)" z 2 zapytaniami aktualizującymi punkty dwóch drużyn
- pętla usuwająca mecze o pobranych wcześniej id
- usunięcie kolejki

Istotna część struktury tabel:
Cytat
KOLEJKI
- `queue_id` id kolejki

Cytat
MECZE
- `match_id` id meczu
- `queue_id` id kolejki, do której należy mecz
- `team1` id drużyny nr 1
- `team2` id drużyny nr 2
- `result` rezultat (możliwe jest 5 stanów: 0,0 - wynik 0:0; 1,1 - remis; 2,0 - pierwsza drużyna wygrała; 0,2 - druga drużyna wygrała; 3,3 - pole z wynikami nie zostało jeszcze uzupełnione)

Cytat
DRUŻYNY
- `team_id` id drużyny
- `team_points` liczba punktów uzyskanych przez drużynę


Ma ktoś może pomysł na lepszy schemat działania? Te pętle przy dużej ilości meczy (średnio jest ich 6-7) mogą mi poderżnąć maszynę.

Pozdrawiam.

Ten post edytował warna 13.09.2008, 17:20:53
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
roobik
post
Post #2





Grupa: Zarejestrowani
Postów: 410
Pomógł: 5
Dołączył: 25.01.2005
Skąd: Wrocław

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


Mimo, że nie znam się na punktacji meczów, to proponuję dodać pole o nazwie "pkt" i wpisać tyle punktów, ile zwycięska drużyna zdobyła.
Jeśli zaś jest podział punktów, to przydałyby się dwa pola :
- pkt_a (punkty drużyny 1
- pkt_b - punkty drużyny 2
I moim zdaniem usuwanie rekordów byłoby już tylko formalnością - usuwając rekord - usuwane by były tym samym punkty (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
//edit
Edytowałeś, to i ja zedytuję
Oczywiście nie musze nadmieniać, że tym samym punktacja miałaby silny związek z obiema tabelami (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował roobik 13.09.2008, 17:23:41
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 11:21