Auswertung von Tendenzen

dodge11

Mitglied
Hallo,

ich möchte ein kleines Tippspiel programmieren. Bei der Eingabe der Ergebnisse, sollen diese mit den abgegebenen Tipps der Spieler verglichen werden und wie folgt bepunktet werden.

Richtige Tendenz => 1 Punkt
Wenn die Tendenz stimmt und entweder die Anzahl der heim oder gast Tore richtig ist => 1 Punkt
Richtiges Ergebnis => 2 Punkte

Hier der Code dazu

PHP:
while (list($key, $id) = each($_POST['id']))     {
 $spiel = $_POST['id'][$key];
 $er_heim = $_POST['er_heim'][$id];
 $er_gast = $_POST['er_gast'][$id];

 $set = array();
 $set[] = "er_heim = $er_heim";
 $set[] = "er_gast = $er_gast";

 mysql_query("UPDATE spiele SET ".implode(", ", $set)." WHERE id='$spiel'") or die (mysql_errno());

}

$sel = mysql_query("SELECT * FROM user ") or die (mysql_error());

while($row = mysql_fetch_object($sel)) {

$id = $row->id;

	$sel1 = mysql_query("SELECT * FROM tipp WHERE user = '$id' ") or die (mysql_error());

	if($q = mysql_num_rows($sel1) > 0) {

	while($row1 = mysql_fetch_object($sel1)) {

	$tipp_id = $row1->id;
	$tipp_spiel = $row1->spiel;
	$tipp_a = $row1->tipp_a;
	$tipp_b = $row1->tipp_b;

		$sel2 = mysql_query("SELECT * FROM spiele WHERE id = '$tipp_spiel' ") or die (mysql_error());

		if($x = mysql_num_rows($sel2) > 0) {

		while($row2 = mysql_fetch_object($sel2)) {
		
		$heim = $row2->er_heim;
		$gast = $row2->gast;

		if ($heim > $gast AND $tipp_a > $tipp_b) {
			$tendenz = "1";
			if ($heim == $tipp_a OR $gast == $tipp_b) {
				$tore = "1";
			} else {
				$tore = "0";
			}
		} else {
			$tendenz = "0";
		}

		if ($heim < $gast AND $tipp_a < $tipp_b) {
			$tendenz = "1";
			if ($heim == $tipp_a OR $gast == $tipp_b) {
				$tore = "1";
			} else {
				$tore = "0";
			}
		} else {
			$tendenz = "0";
		}

		if ($heim == $tipp_a AND $gast == $tipp_b) {
			$ergebnis = "2";
		} else {
			$ergebnis = "2";
		}

		}
		}
		
	$punkte = $tendenz + $tore + $ergebnis;	
	
	mysql_query("UPDATE tipp SET punkte = '$punkte' WHERE id = '$tipp_id'") or die (mysql_error());

	}
	} 
}

Der Ergebnisse werden richtig in DB übertragen, aber die Auswertung der Punkte funktioniert nicht richtig. Vielleicht könnt ihr mir helfen.

Gruß

Dodge
 
Wenn das Ergebnis 2:1 ist und der Spieler 2:1 getippt hat, bekommt er nur 2 anstatt 4 Punkten. Hat der Spieler aber beim gleichen Ergebnis 1:2 getippt bekommt 3 Punkte anstatt 0. Auch wenn der Spieler unentschieden tippt, bekommt er 2 Punkte anstatt 0.
 
Zurück