Seite 1 von 1

Beitragszähler erweitern

Verfasst: 09.03.2007 16:21
von Stiron
Hallo,

Ich möchte gerne meinen Beitragszähler um 2 Punkte erweitern. Wie geht das?

1. Heut wurden insg. xxx Beiträge geschrieben!

2. Rekord: Am (Datum) wurden insg. xxx Beiträge geschrieben!

Geht das? wenn ja wie?

Danke für die Hilfe!

Gruss Ronny

Verfasst: 10.03.2007 19:04
von gn#36
Ich hoffe du kennst dich ein wenig mit PHP und SQL aus...

Code: Alles auswählen

//Heute Null Uhr:
$null_uhr = mktime(0,0,0,date('d'),date('m'),date('Y'),date('I'));
//86400 = 24 Stunden in Sekunden
$sql = "SELECT count(*) AS posts_heute FROM " . POSTS_TABLE . " WHERE (post_time - $null_uhr) < 86400 AND (post_time - $null_uhr) >= 0";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Konnte die Poster - Statistiken nicht lesen', '', __LINE__, __FILE__, $sql);
}
$resultat = $db->sql_fetchrow($result);
$postanzahl_heute = $resultat['posts_heute'];
Bitte auf jeden Fall ein Backup machen, der Code ist ungetestet (ich hoffe, ich habe mich in der Parameterreihenfolge bei mktime nicht vertan...).

Das zweite ist Aufwändiger, mal sehen ob mir da auch ein SQL Befehl für einfällt...

Code: Alles auswählen

$sql = "SELECT count(*) AS anzahl,
FROM_UNIXTIME(FLOOR(post_time/86400)*86400) AS Datum,
FLOOR(post_time/86400) AS Test

FROM ".POSTS_TABLE." 

GROUP BY FLOOR(post_time/86400) 

ORDER BY post_time DESC";
Leider ist da noch irgendwo der Wurm drin, einen Teil der Posts zählt die Kiste bei mir noch zum alten Tag wenn sie vor 1 Uhr nachts gepostet wurden, einen Teil sogar bis 2 Uhr noch. FROM_UNIXTIME(0) ergibt auch nicht den 1.1.1970 0 Uhr, sondern den 1.1.1970 1 Uhr... Die Gruppierung macht er in jedem Fall nicht so ganz richtig, zumindest bei mir. Jemand eine bessere Idee?

EDIT: Der Code für die zweite Frage ist leider vollkommener Murks, denn er beachtet die Zeitzonen genausowenig wie die Sommerzeit/Winterzeitumstellungen. Hierher kommen wohl auch die seltsamen Ergebnisse beim ausprobieren.