Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] obliczenia
Forum PHP.pl > Forum > PHP
stal-sw
Witam.
Mam spory problem z wyliczenia bilansu meczow miedzy 2 druzynami.
Mam juz zapytanie do bazy ktroe pobiera mi mecze - gdzie spotykaja sie 2 druzyny - przy czym nalezy uwzgeldnic tutaj to ze dana druzyna dla ktroje bedziemy robic wyliczenia moze raz byc gosciem a innym razem gospodarzem.

I teraz nie wiem jak wyliczyc bilans meczow -czyli ile dana druzyna wygrala meczy ile zremisowala a ile przegrala.

Tablica zwrocona po przez moje zapytanie wyglada tak:
  1. Array (
  2. [0] => Array ( [id] => 97 [gospodarz] => 1 [przeciwnik] => 3 [gol1] => 0 [gol2] => 0 [gosp] => Stal Stalowa Wola [gosc] => Wisła Kraków )
  3. [1] => Array ( [id] => 80 [gospodarz] => 3 [przeciwnik] => 1 [gol1] => 1 [gol2] => 2 [gosp] => Wisła Kraków [gosc] => Stal Stalowa Wola )
  4. [2] => Array ( [id] => 61 [gospodarz] => 1 [przeciwnik] => 3 [gol1] => 0 [gol2] => 2 [gosp] => Stal Stalowa Wola [gosc] => Wisła Kraków )
  5. [3] => Array ( [id] => 44 [gospodarz] => 3 [przeciwnik] => 1 [gol1] => 0 [gol2] => 0 [gosp] => Wisła Kraków [gosc] => Stal Stalowa Wola ) )


Czyli jak widzimy : dwie druzyny rozegraly 4 mecze:
Bilans tych meczy jest taki:
- Stal Stalowa Wola : 2 remisy, 1 zwyciestwo i 1 porazka.

Jak zrobic te wyliczenia na podstawie takiej tablicy co otrzymalismy ? Bo zapewno ciezko bylyoby to obliczyc korzystajac z samego SQLa ?!?

Tyko tutaj nalezy tez wziasc pod uwage ze raz jedna druzyna mzoe byc gospodarzem a innym razem druga.

Z gory dzieki za pomoc w rozwiazaniu problemu.
wlq
W takim wypadku, chyba dobrze jest wstawic wszystko do kilku petli foreach. I porownywac ze soba kolejne tablice. Ustawic kilka zmiennych, np $remis, $gol1, $gol2 i tylko w zaleznosci od obliczen, zmieniac ich wartosci. Nie wiem czy rozwiazanie to jest najlepsze, ale jest.
stal-sw
Witam.
No niestety dalej nie wiem jak toz zrobic.

Jedynie udalo mi sie zrobic zeby obliczyc remisy, porazki, zwyciestwa - ale tylko dla druzyny ktroa jest dospodarzem - w zwiazku z tym te dane sa zle - a to daltegoe ze raz jedna druzyna jest gospodarzem, a raz druga sad.gif
wlq
A nie mozesz wstawic jednego if else ? przy kazdym odczytaniu, sprawdzasz czy jest gospodarzem czy nie i w zaleznosci od tego przypisujesz wyniki.
Ludvik
To może zacznij od poprawnego projektu bazy danych. Tabela z drużynami, tam ich identyfikatory oraz nazwy. W tabeli z meczami klucze obce - identyfikatory grających drużyn(id_gospodarza, id_gosci). Pobierasz odpowiednio wiersze wszystkie. Kiedy masz już te wiersze wystarczy sprawdzić wynik.
- Jeżeli gospodarze wygrywają - zwiększasz liczbę zwycięstw drużyny o id gospodarza. Analogicznie z porażkami...
- Jeżeli gospodarze przegrywają - robisz jak wyżej, tyle że zamieniasz strony.
- Jeżeli jest remis - dodajesz po remisie.

Tak to wygląda najprościej...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.