Im Header anzeigen wieviel Posts heute gemacht wurden?!

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.
Benutzeravatar
quad
Mitglied
Beiträge: 5
Registriert: 18.02.2004 15:13
Wohnort: Berlin

Im Header anzeigen wieviel Posts heute gemacht wurden?!

Beitrag von quad »

Wie realisiert man das am simpelsten? Habe das Forum hier schon durchstöbert, aber keine wirklich passende Lösung gefunden.

Es soll im Header (unangemeldet) einfach nur folgendes stehen:

"X neue Posts wurden heute geschrieben."
-quad
Benutzeravatar
Firestarter
Mitglied
Beiträge: 1162
Registriert: 09.06.2003 15:21

Beitrag von Firestarter »

MfG
Firestarter
Auch ich versuche mein Glück und möchte ein schönes Forum haben, dafür muss ich wohl erstmal leiden. *fg*
Benutzeravatar
quad
Mitglied
Beiträge: 5
Registriert: 18.02.2004 15:13
Wohnort: Berlin

Beitrag von quad »

naja.. nee, ist auch nicht wirklich das was ich brauche. ich will ja kein mod was mir die letzten posts anzeigt. sondern einfach nur die zahl der heutigen posts. das müsste doch mit einer einzigen sql-abfrage und übergabe in eine variable recht leicht gehen. :|
-quad
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Code: Alles auswählen

#
#--------- [ DATEI ÖFFNEN ] -----------------------------
#
# /language/lang_german/lang_main.php
#
#--------- [ irgendwo zwischen <? und ?> einfügen ] -----------------------------
#
// Heute
$lang['User'] = 'Benutzer';
$lang['Users'] = 'Benutzern';
$days = array('Monday' => 'Montag', 'Tuesday' => 'Dienstag', 'Wednesday' => 'Mittwoch', 'Thursday' => 'Donnerstag', 'Friday' => 'Freitag', 'Saturday' => 'Samstag', 'Sunday' => 'Sonntag');
$lang['Today_stats'] = 'Am heutigen '. $days[date("l", time())] .', den '. date("d.m.Y", time()) .', wurden bisher <b>%s</b> %s in <b>%s</b> %s von <b>%s</b> %s geschrieben.';

#
#--------- [ DATEI ÖFFNEN ] -----------------------------
#
# /index.php
#
#--------- [ FINDE ] -----------------------------
#
	$template->assign_vars(array(
		'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),

#
#--------- [ MIT FOLGENDEM ERSETZEN ] -----------------------------
#
	$sql = "SELECT count(DISTINCT p.post_id) AS posts, count(DISTINCT t.topic_id) AS topics, count(DISTINCT p.poster_id) AS users
	           FROM ". POSTS_TABLE ." p, ". TOPICS_TABLE ." t
	           WHERE from_unixtime(p.post_time,'%Y%m%d') - from_unixtime(unix_timestamp(NOW()),'%Y%m%d') = 0 AND p.topic_id = t.topic_id
	           ORDER BY p.post_time DESC";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Couldn\'t retrieve posts data.', '', __LINE__, __FILE__, $sql);
	}
	if( $row = $db->sql_fetchrow($result) )
	{
		$today_posts = $row['posts'];
		$l_posts = ( $row['posts'] == '1' ) ? $lang['Post'] : $lang['Posts'];
		$today_topics = $row['topics'];
		$l_topics = ( $row['topics'] == '1' ) ? $lang['Topic'] : $lang['Topics'];
		$today_users = $row['users'];
		$l_users = ( $row['users'] == '1' ) ? $lang['User'] : $lang['Users'];
	}

	$template->assign_vars(array(
		'TODAY_STATS' => sprintf($lang['Today_stats'], $today_posts, $l_posts, $today_topics, $l_topics, $today_users, $l_users),
		'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),

#
#--------- [ DATEI ÖFFNEN ] -----------------------------
#
# /templates/xxx/index_body.tpl
#
#--------- [ irgendwo EINFÜGEN ] -----------------------------
#
<span class="genmed">{TODAY_STATS}</span><br />
Zuletzt geändert von Acid am 24.02.2004 11:23, insgesamt 1-mal geändert.
Benutzeravatar
quad
Mitglied
Beiträge: 5
Registriert: 18.02.2004 15:13
Wohnort: Berlin

Beitrag von quad »

hey hey.. :)

ich werds sofort ausprobieren, aber das klingt ja schonmal gut.
-quad
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag von Guido »

Hallo Acid

Super sowas hab ich auch schon lange gesucht und direkt eingebaut, allerdings habe ich eine kleine Korrektur vorzuschlagen in der index.php. Das müsste m.E. so heissen:
#
#--------- [ DATEI ÖFFNEN ] -----------------------------
#
# /index.php
#
#--------- [ FINDE ] -----------------------------
#
$template->assign_vars(array(
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),


#
#--------- [ MIT FOLGENDEM ERSETZEN ] -----------------------------
#
$sql = "SELECT count(DISTINCT p.post_id) AS posts, count(DISTINCT t.topic_id) AS topics, count(DISTINCT p.poster_id) AS users
FROM ". POSTS_TABLE ." p, ". TOPICS_TABLE ." t
WHERE from_unixtime(p.post_time,'%Y%m%d') - from_unixtime(unix_timestamp(NOW()),'%Y%m%d') = 0 AND p.topic_id = t.topic_id
ORDER BY p.post_time DESC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Couldn\'t retrieve posts data.', '', __LINE__, __FILE__, $sql);
}
if( $row = $db->sql_fetchrow($result) )
{
$today_posts = $row['posts'];
$l_posts = ( $row['posts'] == '1' ) ? $lang['Post'] : $lang['Posts'];
$today_topics = $row['topics'];
$l_topics = ( $row['topics'] == '1' ) ? $lang['Topic'] : $lang['Topics'];
$today_users = $row['users'];
$l_users = ( $row['users'] == '1' ) ? $lang['User'] : $lang['Users'];
}

$template->assign_vars(array(
'TODAY_STATS' => sprintf($lang['Today_stats'], $today_posts, $l_posts, $today_topics, $l_topics, $today_users, $l_users),
'TOTAL_POSTS' => sprintf($l_total_post_s, $total_posts),
Eine Zusatzfrage noch:

Ist diese Zusatzabfrage wesentlich mehr db Belastung ?

Grüße
Guido
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Du hast natürlich Recht mit der Korrektur. :roll:

Grössere DB-Belastung? Eigentlich nicht.. ist ja nur ein DB-Query mehr.
Wenn du jetzt irgend´ne Belastung dadurch feststellst, gib Bescheid.
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Es werden durch die Abfrage allerdings alle in dem Zeitraum verfassten Beiträge berücksichtigt, unabhängig davon ob ich nun die Rechte für alle Foren habe oder nicht.

Möchte ich nur ergänzt haben.

Elo
Benutzeravatar
Guido
Mitglied
Beiträge: 1307
Registriert: 06.10.2002 09:44
Wohnort: Rheinland
Kontaktdaten:

Beitrag von Guido »

@Acid: Feststellen kann ich eigentlich nichts was in diese Richtung geht, wollte auch nur auf Nummer sicher gehen mit meiner Frage, jetzt bin ich wenigstens beruhigt..;-)

@Elo: Das stimmt, ist mir auch schon durch den Kopf gegangen, fand`s aber nicht weiter schlimm, weil die Beiträge ja nicht irgendwie zugeordnet sondern rein (nur) gezählt werden...

Grüße Guido
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

@Guido

Wie schon geschrieben wollte ich es nur erwähnt haben, da es bei dieser Unstimmigkeit zu den zu lesenden Beiträgen evtl. zu Verwirrungen oder sogar zu Ärger kommen kann.

Elo
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“