Funktionsproblem (Werte zusammenzählen)

GodWar

Erfahrenes Mitglied
Ich habe eine kleine Funktion!

In meiner SQL habe ich eine Tabelle mit ID - BogenID - BogenWert!

Ich wollte nun alle BogenWerte von einer bestimmten BogenID ausgeben und subtrahieren!

Momentan siehts so aus gibt mir aber nur den letzten Wert aus:

PHP:
	function Bogen_Wertung($dbprefix,$BogenID)
	{
		$sql = "SELECT * FROM ".$dbprefix."_BogenWertung WHERE BogenID='$BogenID' ORDER BY BogenID DESC";
		$result = mysql_query($sql) or die(mysql_errno().":".mysql_error());  
		$count = mysql_num_rows($result);  
		
		while( $row = mysql_fetch_array($result) )
		{  
		$row = mysql_fetch_array($result);
		$wert = $row['BogenWertung'];
		$temp = $temp + $wert;
		}
		return $temp;
	}
 
Zuletzt bearbeitet:
Code:
$sql = "SELECT * FROM ".$dbprefix."_BogenWertung WHERE BogenID='".$BogenID."' ORDER BY BogenID DESC";

Und: Groß- und Kleinschreibung im code ist immer: pfui!
 
Vielleicht solltest du dein
PHP:
$row = mysql_fetch_array($result);
innerhalb der Schleife entfernen?

Gruß!
 
Andernfalls könntest du auch einfach die Abfrage optimieren:
PHP:
function Bogen_Wertung( $dbprefix, $BogenID)
{
	$query = '
		SELECT
		        SUM(`BogenWertung`)
		  FROM
		        `'.mysql_real_escape_string($dbprefix).'_BogenWertung`
		  WHERE
		        `BogenID` = "'.mysql_real_escape_string($BogenID).'"
		';
	$result = mysql_query($query) or die(mysql_errno().':'.mysql_error());
	return mysql_result($result, 0);
}
 
Zurück