Summieren

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag 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 ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Verwechselt?
Ich habe

Code: Alles auswählen

	<td class="row2"><b>'.$posts7.' / '.$posts30.'</b></td>
und

Code: Alles auswählen

	<th height="25" class="thTop">New posts 7 / 30</th>
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 ...
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag 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

Code: Alles auswählen

WHERE post_time <= ".$timespan;
sondern

Code: Alles auswählen

WHERE post_time >= ".$timespan;
heissen!

Man man man :wall:
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

JAWOLL! Das sieht schon sehr gut aus!
DANKE (erstmal)!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag 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...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ist es sehr schwer, das auf "Letzten Monat" / "Diesen Monat" umzubiegen?
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag 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:

Code: Alles auswählen

... WHERE post_time >= " . $timespan;
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 ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Werde es morgen testen! DANKE!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag 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?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn Du Dir meinen letzten Post genauer anschaust, wirst Du das finden ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Arrrrg, klar! Mensch, mensch, mensch!

Getestet: scheint gut zu klappen! Danke!
Zuletzt geändert von Holger am Fr 27.Apr, 2007 13:11, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Keine Ursache.
Dafür bin ich um einige Hirnwindungen ärmer ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten