Seite 1 von 1

DB Maintenance / Count posts Mod v1.0.0

Verfasst: 02.01.2007 17:54
von Mr.Data
Hallo,

den "Count posts Mod v1.0.0" gabs doch irgendwann mal. Hat den noch jemand? Ich find ihn im Forum nicht, bei Google nicht und bei der Konkurrenz auch nicht :(

Außerdem wollt ich noch fragen, was ich machen muss damit der DB Maintenance Mod die Einstellung vom "Count posts Mod v1.0.0" beim Beiträge zählen berücksichtigt ?!

Gruß

Verfasst: 02.01.2007 20:19
von area57
Moin,

schau mal ob das der richtige ist:

Hack Title: Count posts?

Verfasst: 02.01.2007 20:57
von Mr.Data
Tatsächlich, danke :))

Wenn jetzt noch jemand ne Antwort auf die zweite Frage weiß... dat wär super :)

Gruß

Verfasst: 13.02.2007 23:36
von PhilippK
Im Wesentlichen wird's darauf rauslaufen, die Änderung

Code: Alles auswählen

ALTER TABLE `phpbb_forums` ADD `count_posts` CHAR(1) DEFAULT '1' NOT NULL;
zu berücksichtigen.
Welche MySQL-Version hast du im Einsatz? Für 4.1+ könnte sich wohl recht schnell ein "Quick&Dirty"-Hack erstellen lassen, der mit einer Subquery arbeitet.

Gruß, Philipp

Verfasst: 14.02.2007 00:29
von Mr.Data
Hallo,

ja, 4.1 ist im Einsatz.

Vielen Dank! :)

Gruß

Verfasst: 24.02.2007 14:31
von PhilippK
So, hat leider etwas länger gedauert:
Suche nach:

Code: Alles auswählen

					$sql = "SELECT u.user_id, u.username, u.user_posts, Count(p.post_id) AS new_counter
						FROM " . USERS_TABLE . " u
							INNER JOIN " . POSTS_TABLE . " p ON u.user_id = p.poster_id
						WHERE u.user_id <> " . ANONYMOUS . "
						GROUP BY u.user_id, u.username, u.user_posts";
und ersetze mit

Code: Alles auswählen

					$sql = "SELECT u.user_id, u.username, u.user_posts, Count(p.post_id) AS new_counter
						FROM " . USERS_TABLE . " u
							INNER JOIN " . POSTS_TABLE . " p ON u.user_id = p.poster_id
						WHERE u.user_id <> " . ANONYMOUS . "
							AND p.forum_id IN (SELECT forum_id FROM " . FORUMS_TABLE . " WHERE count_posts)
						GROUP BY u.user_id, u.username, u.user_posts";
Gruß, Philipp

Verfasst: 25.02.2007 01:03
von Mr.Data
Es läuft! Danke! :)