Letzte 3 Monate anzeigen mit Daten PHP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abstract
aktuellen monat
april
array
code
date
dezember
folgende abfrage
getrennt ausgeben
heutige tag
januar
juni
mai
monat
re
start
summe
tabelle
url
weit gekommen code
-
Hallo,
ich habe folgendes Problem
Ich habe eine ref="/tag/date">Datenbanktabelle mit einer Spalte "time", die den Timestamp beinhaltet.
Ich möchte eine Tabelle mit dem aktuellen Monat und 2 davor, also z.B. Juni, Mai, April.
Daneben soll dann die Summe ausgegeben werden. Dazu benutze ich diese Abfrage:
SELECT SUM(gewinn_verlust) as summe from r_tage
da fehlt nur noch die WHERE Bedingung
Ich habe es schon mit einer Schleife versucht, aber nicht wirklich weit gekommen.
<?php $months = array(); $months = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"); for ($i = 0; $i > 3; $i++) { //Wochenstatistik $month = date(m); $year = date(Y); $start=mktime(0,0,0,$month, 1, $year); $stop=mktime(0,0,0,$month, 31, $year); $query = "SELECT SUM(gewinn_verlust) as summe from r_tage"; $res = $abstract->query ( $query ); $row = $abstract->fetchRow ( $res ); $summe = $row ['summe']; //Monatzahl $monatzahl = $month - $i; echo '<li><div class="myStat">'; if ($summe > 0) { echo '<strong style="color:green">+ ' . number_format ( $summe, '', '', '.' ) . '</strong>'; } elseif ($summe < 0) { echo '<strong style="color:red">' . number_format ( $summe, '', '', '.' ) . '</strong>'; } echo '</div>' . $months[$monatzahl] . '-' . $year . '</li>'; } ?>
Könnt Ihr mir helfen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du machst dir einfach 2 Datumswerte in PHP.
Der erste Wert ist der 1. von vor 3 Monaten. Also zB der 01.04.2012.
Der zweite Wert ist der Heutige Tag.
Diese beiden Werte rechnest du dir in einen Timestamp um und hast dann einfach folgende Abfrage
SELECT .... FROM ... WHERE datum BETWEEN startdate AND enddate;
Dabei ist startdate eben der 01.04. und enddate der heutige Tag.
mfg -
Ja, das könnte ich so machen
Aber ich will die Summe der drei Monate getrennt ausgeben in einer Tabelle, also in etwa so:
<table> <tr> <td>April</td> <td>summe</td> </tr> <tr> <td>Mai</td> <td>summe</td> </tr> <tr> <td>Juni</td> <td>summe</td> </tr>
-
Dann ist enddate eben nicht der heutige Tag sonder immer der letzte des Monats.
-
syberpsace schrieb:
Dann ist enddate eben nicht der heutige Tag sonder immer der letzte des Monats.
Hmm, ja probiere ich mal
Wie ist dann der Code für Start und Ende?
So hatte ich das schon, aber ist noch nicht richtig
$start=mktime(0,0,0,$month, 1, $year); $stop=mktime(0,0,0,$month, 31, $year);
EDIT: Das Problem konnte ich selber lösen. Danke für die Hilfe!
Beitrag zuletzt geändert: 25.6.2012 22:07:09 von davy -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage