kostenloser Webspace werbefrei: lima-city


Letzte 3 Monate anzeigen mit Daten PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    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?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    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>
  5. Dann ist enddate eben nicht der heutige Tag sonder immer der letzte des Monats.
  6. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    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
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!