Beitragszähler erweitern

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Stiron
Mitglied
Beiträge: 68
Registriert: 27.09.2006 13:24
Wohnort: Hennigsdorf b. Berlin
Kontaktdaten:

Beitragszähler erweitern

Beitrag 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
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag 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.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“