Hallo,
Ich bastel gerade an einer Übersicht von Wettenabgaben.
Bei result=ja heißt es, dass die Wette gewonnen wurde, bei nein entsprechend verloren und wenn noch nichts eingetragen wurde, steht sie auf open.dann geh mal systematisch deinen Code durch, nimm an, $data_bet["result"] habe den Wert "ja".
if($data_bet["result"]=="ja")
{
$won=$data_bet["einsatz"]*$data_bet["quote"]-$data_bet["einsatz"];
$won=$won-($won/25);
print "<font color="green">+".number_format($won, 2, '.', '')." €</font>";
}Dieser Zweig wird also ausgeführt, $won erhält einen sinnvollen Wert.
else
{
if($data_bet["result"]=="nein")
{
$lost=-$data_bet["einsatz"];
print "<font color="red">".$lost." €</font>";
}
else
print "open";
}Dieser nicht, also behält $lost seinen Wert aus dem vorherigen Schleifendurchlauf, oder ist gar undefiniert.
$total += $won+$lost;
Was zählst du hier also zusammen? Jedenfalls nichts Sinnvolles.
Ich würde dir empfehlen, in beiden Zweigen (won/lost) dieselbe Variable zu verwenden - nenne sie meinetwegen $balance, damit man sich nicht mit den Namen verwirrt. Und vergiss nicht, sie bei "open" auch auf 0 zu setzen.
Alternativ verzichte auf $won, $lost oder $balance und berechne die Veränderung von $total direkt innerhalb des jeweiligen if/else-Zweigs.So long,
Martin
Danke für den Denkanstoß!
Code sieht nun wiefolgt aus und funktioniert wunderbar:
$total=0;
while($data_bet=mysql_fetch_array($result))
{
if($data_bet["result"]=="ja")
{
$won=$data_bet["einsatz"]*$data_bet["quote"]-$data_bet["einsatz"];
$won=$won-($won/25);
print "<font color=\"green\">+".number_format($won, 2, '.', '')." €</font>";
$total=$won+$total;
}
else
{
if($data_bet["result"]=="nein")
{
$lost=-$data_bet["einsatz"];
print "<font color=\"red\">".$lost." €</font>";
$total=$lost+$total;
}
else
{
print "open";
$total=0+$total;
}
}
}
print number_format($total, 2, '.', '');