Witam. Potrzebuję stworzyć tablę (prawdopodobnie, chyba że ktoś wymyśli lepsze rozwiązanie), która pozwoliłaby mi tworzyć wyniki, które zawierają liczbę punktów zdobytych przez każdego z użytkowników w unikatowym wydarzeniu (wyścig).
Prezentuje poniżej niekompletny wygląd tabel uzytkownik oraz wyscig:
CREATE TABLE uzytkownik ( id_uzytkownika INT NOT NULL AUTO_INCREMENT, nick_uzytkownika VARCHAR(30) NOT NULL, kierowca1 INT NOT NULL, budzet INT NOT NULL, CONSTRAINT id_uzytkownika_pk PRIMARY KEY (id_uzytkownika) )
CREATE TABLE wyscig ( id_wyscigu INT NOT NULL, nazwa_wyscigu VARCHAR(80) NOT NULL, miejsce_1 INT NOT NULL, miejsce_2 INT NOT NULL, miejsce_3 INT NOT NULL, CONSTRAINT id_wyscigu_pk PRIMARY KEY (id_wyscigu) )
Podaje dane niekompletne, pamiętaj! W tabeli uzytkownik kolumna 'kierowca1' to klucz obcy do tabeli kierowcy gdzie znajdujemy m.in. imię kierowcy, podobnie jak kolumna 'miejsce_1' w tabeli wyscig.
Co chcę osiągnąć: Po każdym wyścigu ręcznie wprowadzam dane na temat wyścigu (1,2,3 miejsce..), dzięki czemu każdy z użytkowników otrzymuje określoną ilość punktów, w zależności na jakiego zawodnika (kierowcę) postawił. Za każdy zdobyty punkt budzet (już w tabeli uzytkownik) zwiększa się o określoną kwotę. Chcę móc wyświetlać sumę punktów zdobytych i (w innym miejscu) punkty za każdy wyścig z osobna.
Do tej pory jedynym rozwiązaniem na które wpadłem, a które miało by szanse powodzenia jest stworzenie tabeli z kolumnami kolejno (wyscig1, wyscig2, wyscig3, .... , id_uzytkownika), gdzie kolumny wyscigX zawierały by wartości liczbowe zdobytych punktów za kolejny wyścig. Problem w tym, że nie znam ilości wyścigów - może być to 10 wyścigów, ale może być i 30. Oczywiście mogę sobie utworzyć kolumn do wyscig50, ale to zbędne klepanie kodu, którego chcę uniknąć. Można to rozwiązać w sposób aby dodawać nową kolumnę tworząc wpis z nowym wyścigiem - ale to tworzy kolejny problem przy tworzeniu nowego konta użytkownika - różna ilość kolumn do wypełnienia po każdym wyścigu, oraz z wyświetlaniem daty kolejnego wyścigu.
Baza stworzona na MySQL, obsługa bazy w PHP na przeglądarce.
Będę wdzięczny za wszelkie porady i sugestie, może rozwiązanie jest trywialne, tylko ja się miotam