Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Prosty Typer Piłkarski
adams1692
post 30.05.2017, 13:27:03
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 4.04.2013
Skąd: Uniejów

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


Witam, postanowiłem zabrać się za stworzenie typera na swoją stronę, jednak nie za bardzo wiem jak mam sobie poradzić. Otóż, posiadam stworzone trzy tabele w bazie danych o nazwach terminarz, typer_typy oraz typer_tabela. Poniżej zawartość tabeli:

terminarz:
  1. (`id`, `kolejka`, `dzien`, `godzina`, `dom`, `wynikdom`, `wynikwyjazd`, `wyjazd`)


typer_typy:
  1. (`id`, `dom`, `wynikdom`, `wynikwyjazd`, `wyjazd`, `data`, `kolejka`, `userid`)


typer_tabela:
  1. (`id`, `dom`, `wynikdom`, `wynikwyjazd`, `wyjazd`, `data`, `kolejka`, `userid`, `punkty`)


Chodzi mi o to, żeby dodając wynik do terminarza, baza porównywała wyniki z tabeli typer_typy i dodawała odpowiednie punkty do tabeli typer_tabela. Największy problem mam z kolumną userid, ponieważ w terminarzu nie mam tej wartości i nie wiem jak to dodać do bazy typer_tabela. Zasada jest generalnie prosta, jeżeli wynik się zgadza i jest trafiony, user dostaje 3 punkty, kiedy zgadza się zwycięzca dostaje 1 punkt natomiast jeżeli wynik jest nietrafiony otrzymuje 0. Jest ktoś w stanie mi pomóc z tym tematem? Z góry dzięki!

Odgrzewał temat, jest ktoś w stanie mi pomóc w tym temacie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sabat24
post 12.10.2017, 15:29:00
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 26
Dołączył: 13.09.2007
Skąd: Gdańsk

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


Można i bez crona. Po prostu po dodaniu wyniku, robisz zapytanie sumujące punkty użytkowników, którzy obstawili dany mecz i ich aktualizujesz. Trzeba trochę zmienić strukturę i powiązać typy z terminarzem (typ jest do meczu, a nie do kolejki) i do tabeli typy dodać nowe pole określające zwycięzce (1, X, 2). Wpisując wynik do tabeli terminarz poza wynikiem dom - wyjazd, wpisujesz zwycięzce (1, x, 2). Wtedy coś w stylu SUM_IF typ_dom = wynik_dom AND typ_wyjaz = wynik_wyjazd TO 2 JAK_NIE_TO 0 as trafiony_dokladny, SUM_IF zwyciezca_typ = zwyciezca_wynik TO 1 JAK_NIE_TO 0 as trafiony_zwyciezca. Grupujesz takie zapytanie po ID typera i robisz mu update punktów za daną kolejkę sumując pola trafiony_zwyciezca i trafiony_dokladny.

Da się to zrobić nawet w jednym, rozsądnym zapytaniu, ewentualnie z podzapytaniem, ale trzeba posiedzieć nad strukturą i sqlem.

Ten post edytował sabat24 12.10.2017, 15:30:31
Go to the top of the page
+Quote Post

Posty w temacie


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: 25.04.2024 - 12:55