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:

  1. CREATE TABLE uzytkownik
  2. (
  3. id_uzytkownika INT NOT NULL AUTO_INCREMENT,
  4. nick_uzytkownika VARCHAR(30) NOT NULL,
  5.  
  6. kierowca1 INT NOT NULL,
  7.  
  8. budzet INT NOT NULL,
  9.  
  10. CONSTRAINT id_uzytkownika_pk PRIMARY KEY (id_uzytkownika)
  11. )


  1. CREATE TABLE wyscig
  2. (
  3. id_wyscigu INT NOT NULL,
  4. nazwa_wyscigu VARCHAR(80) NOT NULL,
  5.  
  6.  
  7. miejsce_1 INT NOT NULL,
  8. miejsce_2 INT NOT NULL,
  9. miejsce_3 INT NOT NULL,
  10. CONSTRAINT id_wyscigu_pk PRIMARY KEY (id_wyscigu)
  11. )


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 wstydnis.gif