- This topic has 4 Antworten, 2 Stimmen, and was last updated vor 13 years, 2 months by
Frank Bergmann.
-
AutorBeiträge
-
-
6. April 2013 um 11:56 #1301
Frank Bergmann
MitgliedHallo,
ich versuche nun, nach langer Zeit, etwas PHP zu lernen und progge zum Spaß einmal ein eigenes, spezielles CMS. Nun habe ich eine kleine Frage, wo ich nicht direkt weiterkomme.
Ich habe eine Tabelle mit mehreren Einträgen (id, firmaid, jahr, umsatz, …). Nun möchte ich das Umsatzwachstum, immer der letzten Jahre ausrechnen. Könnt Ihr mit dabei helfen wie ich das Problem lösen könnte? Mit einer Schleife, $zaehler, $count, …?
Beispieleinträge könnte sein:
1, 1, 2009, 10
2, 1, 2011, 13
3, 1, 2010, 12
4, 2, 2011, 28
5, 1, 2012, 14Vielen Dank für Eure Hilfe.
-
6. April 2013 um 12:34 #1302
Stefan Wienströer
MitgliedHallo Frank,
zufälliger Weise hab ich ein passendes CMS-Tutorial geschrieben, kannst ja mal nen Blick rein werfen 😉
Im Endeffekt brauchst du nur ein Select mit der SUM-Funktion. Versuch mal das (ungetestet):
<?php
function get_revenue($year)
{
//Default gibt es keinen Umsatz.
$res = 0;//Sum summiert die einzelnen Einträge der Tabelle,
//"tabelle" entsprechend umbenennen.
//mysql_real_escape string, damit man keine SQL-Injection machen kann
$sql = "SELECT SUM(umsatz) "
."FROM tabelle "
."WHERE jahr = '".mysql_real_escape_string($year)."'";//Ergebnis holen
$query = mysql_query($sql);//Nur, wenn der Query erfolgreich war
if($query)
{
//Erste Zeile holen
$row = mysql_fetch_row($query);//Nur wenn die erste Zeile auch befüllt ist
if(is_array($row) && sizeof($row) > 0)
{
//Dem Ergebnis zuweisen
$res = $row[0];//Nur noch einaml zur Sicherheit, wird er aber normalerweise
//nicht reingehen.
if(!is_numeric($res))
{
$res = 0;
}
}
}//Zurückgeben
return $res;
}//Test
echo get_revenue(2011);
?>
Mit der Funktion kannst du dann die einzelnen Jahre durchgehen und bekommst den Umsatz des Jahres heraus.
P.S.: Einrückungen wurden leider nicht vom Forum angenommen, aber die kannst ja nachpflegen 😉
-
8. April 2013 um 09:46 #1314
Frank Bergmann
MitgliedDanke Stefan. Das klappt soweit. Ich hatte nur vergessen zu schreiben, dass ich bereits alle vorhandenen Jahre zu der Firma ausgebe. Der Code sieht so aus:
<?php
$sql=mysql_query("SELECT jahr, umsatz FROM tabelle LEFT JOIN .....");
while ($row=mysql_fetch_array($sql))
{
$jahr=$row['jahr'];
$umsatz=$row['umsatz'];echo"Geschäftsjahr ".$jahr." mit ".$umsatz."
";?>
<?php } ?>Jetzt wollte ich in dieser „Schleife“ die Berechnung durchführen. Hättest du da einen Tipp für mich wie ich das Umsatzwachstum einer Firma, bezogen auf das Vorjahr ausrechnen kann?
P.S.: Der Link ist sehr interessant, werde da noch einige Themen lesen müssen.
-
8. April 2013 um 12:44 #1317
Stefan Wienströer
MitgliedIch würde mir einfach den alten Umsatz in einer Variable zwischenspeichern. So z.B.:
8. April 2013 um 14:19 #1323Frank Bergmann
MitgliedDanke vielmals. Habe es nun, endlich, mit einer Mischung aus deinen beiden Tipps gelöst bekommen. Jippi 😉
AutorBeiträgeViewing 4 reply threads- Du musst angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.
-