Hallo hab nen Problem beim Rechnen

Es sieht jetz so aus:

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))
        
        { 

          $zwsumme=0;

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

       {
        
	 $zwsumme1 = $zwsumme + $myrechnung[7];
         $formatted = sprintf("%01.2f", $zwsumme1);

         
          }
           echo (''.$formatted.' EUR<br />');
        
     }

          
}
    
?>

$myrechnung[7] ist die Spalte Preis wo z.B.: der Wert 5 als Preis drinnen steht.
und bei der weil schleife werden alle Preise abgefragt, ich will die aber nicht nach einander dann stehen haben sondern die sollen addiert werden damit ich so die summe hab, des is mir lieber als ne sum abfrage
 
PHP:
<?php 
$summe = 0;
$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
      $ergebnis1 = mysql_query("SELECT * FROM steinlager_p WHERE id='$myergebnis[1]'"); 
      while ($myrechnung = mysql_fetch_row($ergebnis1))
      {        
        $summe = $summe + $myrechnung[7];         
      }
    }   
}
$formatted = sprintf("%01.2f", $summe);
echo $formatted;    
?>

Und so?

Allerdings sind 3 verschachtelte While Schleifen wirklich nicht sehr performant, da würdest du mit JOINS wahrscheinlich schönere Ergebnisse erzielen können.
MySQL Referenzhandbuch - JOINS
 
Danke für die Hilfen,

ich habs jetz so gelöst und es funktioniert:

Code:
<? 
     $preis=0;
     
     $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))
        
        {   $zwsumme=0;

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

                        $zwsumme1 = $myrechnung[7];
                        $preis +=$zwsumme1;

			
			
		}
		
       
           
        
     }
       

          
}

 $formatted = sprintf("%01.2f", $preis);

  echo (''.$formatted.' EUR<br /> ');
    
?>
 
Zurück