Moin allerseits,
jetzt verzweifelts bei mir. Habe folgende Tabellen:
cms_verein_liga_mannschaft
m_znr | saison | liga
61 4 18
62 4 18
63 4 18
cms_verein_spiele
saison | liga | m1 | m2 | tag | pkt1 | pkt2 | spkt1 | spkt2
4 18 62 61 1 5 3 37 31
4 18 62 63 1 4 4 31 29
4 18 61 63 1 2 6 19 41
cms_verein_tabelle (wird nur zum sortieren benutzt)
m | s | g | u | v | match1 | match2 | pkt1 | pkt2 | spkt1 | spkt2 | dif
Daraus will ich die Gesamtergebnisse berechnen. Das Passiert laufend bei einem neuen Eintrag. Habe den Quelltaxt "etwas" gekürzt da nur die Berechnung an sich nicht funktioniert. Irgendwo ist da ein Denkfehler. Herauskommen müsste:
61 | 2 | 0 | 0 | 2 | 0 : 4 | 5 : 11 | -6
62 2 1 1 0 3 : 1 9 : 7 2
63 2 1 1 0 3 : 1 10 : 6 4
Der Quellcode:
<?
$saison = "4";
$klasse = "18";
$tag = "1";
?>
<table class="a_tn" cellspacing="0" cellpadding="3" border="1" bordercolor="#CCCCCC">
<tr class="a_u1">
<td colspan="4">Eingetragene Spiele</td>
</tr>
<?
//EINGETRAGENE SPIELE EINLESEN
$dat=mysql_query("SELECT * FROM cms_verein_spiele WHERE saison = $saison && liga = $klasse && tag = $tag");
while($z=mysql_fetch_array($dat)):
$ms1=$z["m1"];
$ms2=$z["m2"];
$pkts1=$z["pkt1"];
$pkts2=$z["pkt2"];
$spkts1=$z["spkt1"];
$spkts2=$z["spkt2"];
$sz_nr=$z["sz_nr"];
//MANNSCHAFTSNAMEN HOLEN
/*$datm1=mysql_query("SELECT mannschaft FROM cms_verein_liga_mannschaft WHERE m_znr = $ms1");
while($z=mysql_fetch_array($datm1)):
$mn1=$z["mannschaft"];
endwhile;
$datm2=mysql_query("SELECT mannschaft FROM cms_verein_liga_mannschaft WHERE m_znr = $ms2");
while($z=mysql_fetch_array($datm2)):
$mn2=$z["mannschaft"];
endwhile;*/
?>
<tr class="a_z2">
<td height="24"><? echo"$ms1"; ?></td>
<td height="24"><? echo"$ms2"; ?></td>
<td height="24"><? echo"$pkts1 : $pkts2"; ?></td>
<td height="24"><? echo"$spkts1 : $spkts2"; ?></td>
</tr>
<? endwhile; ?>
</table>
<br>
<table class="a_tn" cellspacing="0" cellpadding="3" border="1" bordercolor="#CCCCCC">
<tr class="a_u1">
<td colspan="9">Aktuelle Tabelle vom: <i>
<? echo"$tag"; ?>
. Spieltag</i> -<i>
<? echo"$klasse"; ?>
</i> - <i>Saison</i><i>
<? echo"$saison"; ?>
</i></td>
</tr>
<tr>
<td align="center"><b>Platz</b></td>
<td><b>Mannschaft</b></td>
<td align="center"><b>S</b></td>
<td align="center"><b>G</b></td>
<td align="center"><b>U</b></td>
<td align="center"><b>V</b></td>
<td align="center"><b>Mpkt.</b></td>
<td align="center"><b>Spkt</b></td>
<td align="center"><b>Dif</b></td>
</tr>
<?
//AKT.TABELLE BERECHNEN - EINLESEN - ANZEIGEN - LÖSCHEN
//MANNSCHAFTEN ZUR SAISON - LIGA EINLESEN
$sql1=mysql_query("SELECT m_znr FROM cms_verein_liga_mannschaft WHERE saison = $saison && liga = $klasse");
while($z=mysql_fetch_array($sql1)):
$m_znr3=$z["m_znr"];
//SPIELE GESAMT
$sql2=mysql_query("SELECT * FROM cms_verein_spiele WHERE m1 = $m_znr3 && tag <= $tag || m2 = $m_znr3 && tag <= $tag");
$anz_s=mysql_num_rows($sql2);
//SPIELE GEWONNEN
$sql3=mysql_query("SELECT * FROM cms_verein_spiele WHERE m1 = $m_znr3 && pkt1 > 4 && tag <= $tag || m2 = $m_znr3 && pkt1 > 4 && tag = $tag");
$anz_g=mysql_num_rows($sql3);
//SPIELE UNENTSCHIEDEN
$sql4=mysql_query("SELECT * FROM cms_verein_spiele WHERE m1='$m_znr3' && pkt1 = 4 && tag <= $tag || m2 = $m_znr3 && pkt1 = 4 && tag <= $tag");
$anz_u=mysql_num_rows($sql4);
//SPIELE VERLOREN
$sql5=mysql_query("SELECT * FROM cms_verein_spiele WHERE m1 = $m_znr3 && pkt1 < 4 &&tag <= $tag || m2 = $m_znr3 && pkt1 < 4 && tag <= $tag");
$anz_v=mysql_num_rows($sql5);
//PUNKTE EINLESEN
$sql6=mysql_query("SELECT SUM(pkt1),SUM(pkt2),SUM(spkt1),SUM(spkt2) FROM cms_verein_spiele WHERE m1 = $m_znr3 && tag <= $tag || m2 = $m_znr3 && tag <= $tag");
$punkte=mysql_fetch_row($sql6);
//DIFFERENZ BERECHNEN
$dif=($punkte[0] - $punkte[1]);
//MATCHPUNKTE BERECHNEN
$match1=($anz_g * 2); //GEWONNENE
$match2=($anz_v * 2); //VERLORENE
$match1=($match1 + $anz_u); //UNENTSCHIEDEN
$match2=($match2 + $anz_u); //DAZURECHNEN
//JETZT DEN GANZEN KRAM IN DER DB ABLEGEN
mysql_query("INSERT INTO cms_verein_tabelle (m,s,g,u,v,match1,match2,pkt1,pkt2,spkt1,spkt2,dif) VALUES ('$m_znr3','$anz_s','$anz_g','$anz_u','$anz_v','$match1','$match2','$punkte[0]','$punkte[1]','$punkte[2]','$punkte[3]','$dif')");
endwhile;
//UND NUN ALLES FEIN SORTIERT EINLESEN
$sql7=mysql_query("SELECT * FROM cms_verein_tabelle"); //DA KOMMT NOCH ORDER BY
while($z=mysql_fetch_array($sql7)):
$a1=$z["m"];
$a2=$z["s"];
$a3=$z["g"];
$a4=$z["u"];
$a5=$z["v"];
$a6=$z["match1"];
$a7=$z["match2"];
$a8=$z["pkt1"];
$a9=$z["pkt2"];
$a0=$z["dif"];
?>
<tr class="a_z2">
<td align="center"> </td>
<td><? echo"$a1"; ?></td>
<td align="center"><? echo"$a2"; ?></td>
<td align="center"><? echo"$a3"; ?></td>
<td align="center"><? echo"$a4"; ?></td>
<td align="center"><? echo"$a5"; ?></td>
<td align="center"><? echo"$a6 : $a7"; ?></td>
<td align="center"><? echo"$a8 : $a9"; ?></td>
<td align="center"><? echo"$a0"; ?></td>
</tr>
<?
endwhile;
//FERTIG EINGELESEN UND NUN WECH DAMIT
mysql_query("DELETE FROM cms_verein_tabelle");
?>
</table>
Habe die starke Hoffnung das mir vielleicht jemand auf die Sprünge helfen kann. Hat bisher immer geklappt. Dafür schon mal im voraus großen Dank.
Gruss
Rainer