MySql/PHP Verwaltung eines Turniers (bsp. Eishockey-WM)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
code
eishockey
folgendes problem
gruppenspiel
hirn
idee
knopf
machart
ordern
partie
punkt
spielergebnis
statement
tabelle
team
tor
tordifferenz
turnier
vorrunde
zwischenrunde
-
Hallo zusammen,
ich bastle gerade an einer Verwaltung von Turnieren in der Machart der Eishockey-WM.
Die MySQL-Tabellen sind so strukturiert, dass in einer Tabelle alle Spielergebnisse gespeichert werden (mit Match_id, Runde (also Vorrunde, Zwischenrunde, etc.), Gruppenname (für Gruppenspiele), Heimscore, Auswärtsscore...
Daraus via SQL-Statements eine Ergebnistabelle zu generieren ist mir bereits gelungen. Siehe Code:
$sql_befehl = "SELECT *, COUNT(s.match_id) AS gespielt, SUM( IF(t.nation_id = s.team_home AND s.home_score > s.away_score, 1, 0) OR IF(t.nation_id = s.team_away AND s.away_score > s.home_score, 1, 0) ) AS siege, SUM( IF(t.nation_id = s.team_home AND s.home_score < s.away_score, 1, 0) OR IF(t.nation_id = s.team_away AND s.away_score < s.home_score, 1, 0) ) AS niederlagen, SUM( IF(s.home_score = s.away_score, 1, 0) ) AS unentschieden, SUM( IF(t.nation_id = s.team_home, s.home_score, 0) + IF(t.nation_id = s.team_away, s.away_score, 0) ) AS tore, SUM( IF(t.nation_id = s.team_home, s.away_score, 0) + IF(t.nation_id = s.team_away, s.home_score, 0) ) AS gegentore, COALESCE( SUM( IF(t.nation_id = s.team_home, s.home_score, -s.home_score) + IF(t.nation_id = s.team_away, s.away_score, -s.away_score) ), 0 ) AS tordifferenz, SUM( IF( (t.nation_id = s.team_home AND s.home_score > s.away_score) OR (t.nation_id = s.team_away AND s.away_score > s.home_score),3,0) + IF(s.home_score = s.away_score, 1, 0) ) AS punkte FROM nation t LEFT JOIN icehockey_matches s ON (t.nation_id IN (s.team_home, s.team_away)) WHERE match_group = 'B' AND tournament = 1 GROUP BY nation_id ORDER BY punkte DESC, tordifferenz DESC, tore DESC";
Jetzt habe ich nur folgendes Problem: Bei den Eishockey-WMs der Vergangenheit haben die Teams aus der Vorrunde (bei mir die "match_group" A-D, Runde: "Vorrunde" ) Punkte bzw. die Ergebnisse von 2 (von insgesamt 3) Gruppenspielen in die Zwischenrunde ("match_group" E-F, Runde: "Zwischenrund" ) mitgenommen.
Und ich habe einen Knopf im Hirn, wie ich das obige SQL-Statement erweitern muss, dass er mir die zwei Partien aus der Vorrunde auch in die Zwischenrunde mit rüber nimmt...
Ich hoffe, dass ist nicht zu verwirrend dargestellt. Und vielleicht hat wer eine Idee, wie ich das lösen könnte. Schon mal jetzt Danke vorab.
Beitrag zuletzt geändert: 7.5.2013 21:55:54 von whocaresprod -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage