Seite 2 von 2
Verfasst: Do 26.Apr, 2007 09:09
von oxpus
Ersetze mal "count(post_id)" durch "count(distinct post_id)".
Vielleicht hilfts schon.
Ausser Du hast in der Anzeige $posts7 und $posts30 verwechselt

Verfasst: Do 26.Apr, 2007 09:33
von Holger
Verwechselt?
Ich habe
Code: Alles auswählen
<td class="row2"><b>'.$posts7.' / '.$posts30.'</b></td>
und
Das ist doch die gleiche Reihenfolge?!
Habe mal mit distinct versucht, Ergebnis:
Number of posts :: New posts 7 / 30
4976 :: 4737 / 3707
Irgendwie stimmen die Zahlen überhaput nicht ...
Verfasst: Do 26.Apr, 2007 11:49
von oxpus
Ich bin ja auch blöd!
Die willst ja die "letzten" 7, bzw. 30 Tage, nicht den Zeitraum "vor" 7/30 Tagen!
Daher muss es auch nicht
sondern
heissen!
Man man man

Verfasst: Do 26.Apr, 2007 12:29
von Holger
JAWOLL! Das sieht schon sehr gut aus!
DANKE (erstmal)!
Verfasst: Do 26.Apr, 2007 13:42
von oxpus
Na, logisches Denken hatte dann bei mir am gestrigen Tage wohl nicht mehr geklappt.
Fein, wenn man dann doch noch *stolper* helfen konnte...
Verfasst: Do 26.Apr, 2007 13:49
von Holger
Ist es sehr schwer, das auf "Letzten Monat" / "Diesen Monat" umzubiegen?
Verfasst: Do 26.Apr, 2007 15:54
von oxpus
Schwer nicht, nur komplexer...
Dieser Monat:
Code: Alles auswählen
$current_month = date('m', time() + (date('I') * 3600));
$current_year = date('Y', time() + (date('I') * 3600));
$timespan = mktime(0, 0, 0, $current_month, 1, $current_year, date('I'));
Bedingung dafür:
Letzter Monat:
Code: Alles auswählen
$cur_time = time();
$current_day = date('j', $cur_time + (date('I') * 3600));
$current_month = date('m', $cur_time + (date('I') * 3600));
$current_year = date('Y', $cur_time + (date('I') * 3600));
$timespan_till = mktime(0, 0, 0, $current_month, 1, $current_year, date('I'))-1;
$cur_time -= ($current_day + 1) * 86400;
$last_month = date('m', $cur_time + (date('I') * 3600));
$last_year = date('Y', $cur_time + (date('I') * 3600));
$timespan_from = mktime(0, 0, 0, $last_month, 1, $last_year, date('I'));
Bedingung dafür:
Code: Alles auswählen
... WHERE post_time >= " . $timespan_from . " AND post_time <= " . $timespan_till;
Soweit die Theorie.
Ich hatte das ähnlich so schon einmal gemacht, ist aber nie ohne, da man nicht einfach soeben 30*86400 Sekunden anziehen kann. Es gelten eben auch Schaltjahre, Sommer-/Winterzeit, etc. zu beachten

Verfasst: Do 26.Apr, 2007 15:55
von Holger
Werde es morgen testen! DANKE!
Verfasst: Fr 27.Apr, 2007 11:09
von Holger
[quote="oxpus";p="72493"]
Code: Alles auswählen
... WHERE post_time >= " . $timespan_from . " AND post_time <= " . $timespan_till;
[/quote]
Ok, wo wird timespan_from und timespan_till definiert?
Verfasst: Fr 27.Apr, 2007 11:19
von oxpus
Wenn Du Dir meinen letzten Post genauer anschaust, wirst Du das finden

Verfasst: Fr 27.Apr, 2007 11:21
von Holger
Arrrrg, klar! Mensch, mensch, mensch!
Getestet: scheint gut zu klappen! Danke!
Verfasst: Fr 27.Apr, 2007 15:11
von oxpus
Keine Ursache.
Dafür bin ich um einige Hirnwindungen ärmer
