Hallo hab nen Problem beim Rechnen

garage7

Grünschnabel
Hi,

also ich hab nen Problem beim Rechnen in einer while schleife, anstatt das er die zahlen addiert, setzt er sie einfach hintereinander.

Code:
<? 
     $dgr = mysql_query("SELECT * FROM steinlager WHERE UserSession='".session_id()."' LIMIT 1");
      while ($mydgr = mysql_fetch_row($dgr))
    {
     $ergebnis = mysql_query("SELECT * FROM test WHERE bid='$mydgr[0]'"); 
        while ($myergebnis = mysql_fetch_row($ergebnis))
        { 

              // SELECT HOLEN
         $zwsumme=0;
         $ergebnis1 = mysql_query("SELECT * FROM steinlager_p WHERE id='$myergebnis[1]'"); 
         while ($myrechnung = mysql_fetch_array($ergebnis1))

       {
         $zwsumme = $zwsumme + $myrechnung[7];  
         


      
          }
         echo ('<strong>'.$zwsumme.'</strong>');
     }
}
    
?>

Also bei $zwsumme = $zwsumme + $myrechnung[7];


was mach ich falsch?
 
Vermutlich denkst du nur wegen der direkt hintereinander folgenden Ausgabe, dass die Werte nicht addiert werden.
 
wie lös ich das dass die summe dann ausgegebn wird?

die Werte sind z.b.:

14.95
5
13.95

dann gibt er am ende raus 14.95513.95
 
Hi!

Wie ich das verstehe, werden da Strings addiert ... kann das sein?
-> $wzsumme = $zwsumme + floatval($myrechnung[7]); ...?

Alternativ läßt sich ja auch mit MySql eine Summe bilden: SUM()

Liebe Grüße,
Mark.
 
Das mit floatval funktioniert nicht. Es würd einfach hintereinander ausgegeben

z.b.

15
4

154

Er setzt es einfach hintereinander.

Ich versteh das nicht, muss man bei der spalte in der tabelle irgendwas einstellen, des steht jetz auf VAR oder woran kann das liegen?
 
Bei deiner Ausgabe werden die einzelnen Werte direkt hintereinander ausgegeben. Deshalb denkst du vermutlich nur, dass daraus eine Zahl wird. Wie bereits vorgeschlagen, solltest du dir entweder den ausgegebenen Quelltext anschauen, der dann etwa wie folgt aussehen sollte:
HTML:
<strong>15</strong><strong>4</strong>
Oder du gibst zusätzlich noch ein Leerzeichen oder Zeilenumbruch oder ein anderes beliebiges Trennzeichen aus, beispielsweise:
PHP:
echo '<strong>'.$zwsumme.'</strong><br>';
 
Du hast recht, sie werden bloß nacheinander ausgegebn!

und wie werden die addiert?

mit var_dump =?

Ich will praktisch am Ende ein Ergebnis haben
 
Wenn du alle Werte addieren möchtest, darfst du $zwsumme nicht bei jedem Durchlauf der ersten Schleife wieder auf Null setzen sondern musst sie bereits vorher initialisieren.
Dennoch empfehle auch ich dir, diese Berechnung falls möglich bereits mit MySQL zu machen. Wenn du uns die jeweiligen Spaltenbezeichner nennst, können wir dir dabei auch helfen.
 
Zurück