Fußball - Serien (Siege,Ungeschlagen) aus DB errechnen

Hattrix

Erfahrenes Mitglied
Hallo,

und zwar habe ich eine Tabelle "hattrix_tabelle1". Dort wird der Verein, Spieltag,S,U,V,Tore,Tore2,DIff,Pkt. gespeichert.

Anhand des Spieltags,S,U und V versuche ich, die aktuellen Serien zu errechnen. Irgendwie gelingt mir das nicht.

Kann mir jemand eine Hilfestellung geben?

Nutze PHPMyAdmin, also MySQL und dazu mit PHP!
 
Also, willst du immer die aktuelle Serie berechnen? Zum Beispiel "12 Spiele hintereinander ungeschlagen" - "3 Spiele in Folge gewonnen/verloren" ? Oder soll dies nur eine bestimmte Anzahl von Spieltage betreffen?

Ich glaub das ist recht komplex und nicht gerade performant... Prüfen, wann das letzte mal N oder S steht, dann je nachdem die Anzahl bis zum ersten N/S finden, dann Zählen... Vielleicht Hilft da BETWEEN ... AND ... - Ist nicht so einfach!
 
Zur Zeit nutze ich eine for-schleife, wo $i für den ersten WHERE-Spieltag steht und der zweite WHERE-Spieltag immer der aktuelle Spieltag ist. Funktioniert gut, nur ist ein Verein 6mal sieglos, dann erscheint er 6mal, statt nur einmal mit der Anzahl der Sieglosen Spiele!
 
Code:
    $series = "SELECT team_id,max( spieltag ) AS sp, win, remis, lost FROM hattrix_tabelle WHERE team_id =1 GROUP BY win, remis, lost ORDER BY sp DESC";
    $results = mysql_query($series);

    while($row = mysql_fetch_row($results))
    {

      if($row[2]==1) $win=$row[1];
      if($row[3]==1) $remis=$row[1];
      if($row[4]==1) $lost=$row[1];
      if($row[3]==1 || $row[4]==1) $rul=$row[1];
      if($row[2]==1 || $row[3]==1) $wur=$row[1];

 
    }
     $s=(7-$rul); //siegesserie

      echo 'Siege:<br><font face="Tahoma" size="1">'.$row[0].' ('.$s.'x)</font><br>';

      $s=(7-$lost); //ungeschlagen

      echo 'Ungeschlagen:<br><font face="Tahoma" size="1">'.$row[0].' ('.$s.'x)</font><br>';

      $s=(7-$wur); //sieglos

      echo 'Sieglos:<br><font face="Tahoma" size="1">'.$row[0].' ('.$s.'x)</font><br>';

und erhalte:

Code:
Siege:
1 (3x)
Ungeschlagen:
1 (2x)
Sieglos:
1 (3x)

In der DB vorhanden Daten:

Code:
spieltag,team_id,win,remis,lost
1, 1, 1, 0, 0
2, 1, 0, 1, 0
3, 1, 1, 0, 0
4, 1, 0, 1, 0
5, 1, 0, 0, 1
6, 1, 1, 0, 0
7, 1, 1, 0, 0


Komme nicht weiter ...

// EDIT

Code:
      if($row[2]==1) $win=$row[1];
      if($row[3]==1) $remis=$row[1];
      if($row[4]==1) $lost=$row[1];
      if($remis<$lost) { if($row[3]==1 || $row[4]==1) $rul=$lost; }
      if($remis>$lost) { if($row[3]==1 || $row[4]==1) $rul=$remis; }
      if($win<$remis) { if($row[2]==1 || $row[3]==1) $wur=$remis; }
      if($win>$remis) { if($row[2]==1 || $row[3]==1) $wur=$win; }

Nun habe ich nur noch das Problem, dass mehrere Vereine angezeigt werden. Momentan immer nur 1 Verein!
 
Zuletzt bearbeitet:
Zurück