Hallo,
recherchiere und bastele nun schon seit 3 Std. herum.
Könnt Ihr mir vielleicht weiterhelfen?
Ich habe eine SQL-Tabelle von Pageviews:
visit | day | month | year
1 | | |
3 | | |
6 |28 |10 |2010
1 |28 |11 |2010
4 |28 |11 |2010
2 |29 |11 |2010
etc.
Sind auch ein paar Leerstellen im Datum dabei.
Ich möchte jetzt die Pageviews der letzten 31 Tage auf einer Webseite anzeigen.
Mein Code bisher:
Berechnet mit die Datumseinheiten:
Liest mir die DB aus und legt mir die Einzelfelder day,month,year zu einem datum zusammen (wegen der Berechnung). Der Filter "year > 1" soll mir die Leerfelder ausfiltern. Klappt bis dahin.
Jetzt habe ich im String $sql die Felder "visits" und "datum".
Die Leerzeilen sind weg.
Ergebnis:
visit | datum
6 |28.10.2010
1 |28.11.2010
4 |28.11.2010
2 |28.11.2010
Das Problem besteht nun darin, dass ich aus $sql nur die Daten (visits) haben möchte, die > $datum_past sind.
So:
visit | datum
1 |28.11.2010
4 |28.11.2010
2 |28.11.2010
Garantiert falsch und da hänge ich jetzt:
zugleich oder danach benötige ich die Summe der Visits:
So:
7
Kann mir jemand weiterhelfen? Auch google spuckt mir nichts aus.
Vielen, vielen Dank vorab!
gersh
recherchiere und bastele nun schon seit 3 Std. herum.
Könnt Ihr mir vielleicht weiterhelfen?
Ich habe eine SQL-Tabelle von Pageviews:
visit | day | month | year
1 | | |
3 | | |
6 |28 |10 |2010
1 |28 |11 |2010
4 |28 |11 |2010
2 |29 |11 |2010
etc.
Sind auch ein paar Leerstellen im Datum dabei.
Ich möchte jetzt die Pageviews der letzten 31 Tage auf einer Webseite anzeigen.
Mein Code bisher:
Berechnet mit die Datumseinheiten:
PHP-Code:
<?php
defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" );
$timestamp_now = time(); //in [s] from January 1 1970 00:00:00 GMT (Unix Epoch) up to now (today)
$timestamp_past = time()-2678400; //Heute minus 31 Tage (-2678400)
$datum_past = date("d-m-Y",$timestamp_past); // Datum vor 1 Monat
PHP-Code:
$sql = "SELECT visits, CONCAT(day,'-', month,'-',year) AS datum FROM jos_contentstats WHERE year > 1";
Die Leerzeilen sind weg.
Ergebnis:
visit | datum
6 |28.10.2010
1 |28.11.2010
4 |28.11.2010
2 |28.11.2010
Das Problem besteht nun darin, dass ich aus $sql nur die Daten (visits) haben möchte, die > $datum_past sind.
So:
visit | datum
1 |28.11.2010
4 |28.11.2010
2 |28.11.2010
Garantiert falsch und da hänge ich jetzt:
PHP-Code:
$pageviews_filtered = SUM(visits) AS summe, datum WHERE datum > '.$datum;
So:
7
PHP-Code:
$result=mysql_query($pageviews_filtered);
$result= mysql_fetch_array($result);
echo number_format($result["summe"], 0, ",", ".");
?>
Vielen, vielen Dank vorab!
gersh


Kommentar