Veröffentlicht 1. Februar 201015 j Hallo zusammen Ich würde gerne mit php den Inhalt einer Reihe aus meiner mySQL-Datenbank summieren und wieder geben.Kann mir da jemand weiterhelfen? mfg David
1. Februar 201015 j Kann mir da jemand weiterhelfen? Ja, gern, aber wo ist das Problem? Bei den mysql-Funktionen? Beim SQL zum Abfragen der DB? Bei der Ausgabe mit PHP in HTML?
1. Februar 201015 j Bis jetzt habe ich das: <?php $host = "localhost"; $user = "root"; $pass = ""; $dbase = "pizza"; $db = mysql_connect($host, $user, $pass) or die ("verbindung fehlgeschlagen"); mysql_select_db($dbase, $db) or die ("verbindung zur datenbank fehlgeschlagen"); $select = "select * from bestellung"; $result = mysql_query($select,$db); if($result) { echo "<table border=1 id=tabelle>"; echo "<td>Name</td>"; echo "<td>Nummer</td>"; echo "<td>Extrawünsche</td>"; echo "<td>Preis</td>"; echo "<td>Wo</td>"; echo "<td>Datum / Uhrzeit</td>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>".$row['name']."</td>"; echo "<td>Nr.".$row['nr']."</td>"; echo "<td>".$row['extra']."</td>"; echo "<td>".$row['preis']."€</td>"; echo "<td>".$row['wo']."</td>"; echo "<td>".date("d.m.Y H:i",$row['zeit'])."</td>"; echo "</tr>"; } echo "</table>"; } ?> [/PHP] Das mach ja nur ne einfache abfrage und gibt es wieder aus.Ich möchte die row "preis" summieren und ausgeben.Ich habe keinen ansatz wie ich das jetzt angehen soll.Ich bin noch eine phpneuling.Es währe schön wenn mir jemand ein beispiel geben könnte.
1. Februar 201015 j Die Summe kannst Du so berechnen: $fTotal = 0.0; // in deiner while-Schleife { $fTotal += floatval($row[preis]); } // nach der while-Schleife echo $fTotal; [/php]
1. Februar 201015 j Danke VaNaTiC !!!!! Aber hast du vielleicht noch lust und zeit um mir das zu erklähren? mfg David
1. Februar 201015 j im prinzip gibt es zwei möglichkeiten an dieses problem heranzugehen: a) mit php alles zusammenzufassen (siehe vorheriges posting) mit sql direkt das ergebnis direkt erstellen lassen und dann mit php auswerten bei dieser (und sehr vielen anderen) aufgabe(n) bietet sich die zweite möglichkeit an, da sich durch die entsprechenden sql-befehle (siehe u.a. sum, group by, order by) alles sehr komfortabel in einem sql-statement erledigen lässt. natürlich muss danach das ergebnis mit php entsprechend ausgelesen und dargestellt werden.
1. Februar 201015 j Gern, aber Du musst mir schon sagen, was Du daran nicht verstehst. Das erste ist eine reine Deklaration und Initialisierung mit 0.0 (als float). Innerhalb der Schleife ist da a += x was eine Kurzform von a = a + x ist. Und eine Umwandlung einer PHP-Variable in eine float-Zahl mittels floatval(). Nach der Schleife ist die pure Ausgabe, die Du natürlich auf Dein konkretes Problem abstrahieren musst.
2. Februar 201015 j Moin, einfach mal so aus der hohlen Hand und selbstverständlich wie immer ungetestet... // viel mehr oder weniger genialer Code $bestellsumme = 0; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>".$row['name']."</td>"; echo "<td>Nr.".$row['nr']."</td>"; echo "<td>".$row['extra']."</td>"; echo "<td>".$row['preis']."€</td>"; echo "<td>".$row['wo']."</td>"; echo "<td>".date("d.m.Y H:i",$row['zeit'])."</td>"; echo "</tr>"; $bestellsumme += $row['preis']; } echo "<tr>"; echo "<td> </td>"; echo "<td> </td>"; echo "<td>Macht summa summarum</td>"; echo "<td>".$bestellsumme."€</td>"; echo "<td> </td>"; echo "<td> </td>"; echo "</tr>"; echo "</table>"; // noch mehr Geschreibsel[/PHP]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.