Posts eines Forums zählen

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
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.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
SandraH.78
Mitglied
Beiträge: 25
Registriert: 10.07.2004 20:18

Posts eines Forums zählen

Beitrag von SandraH.78 »

Hallo,

ich möchte gerne das die Beiträge von allen Usern aus einem bestimmten Forum gesucht werden und das Count Ergebnis von der Gesamtbeitragszahl des Users abziehen.

Ist die Datenbank prefix_post die richtige Datenbank dafür? Also werden dort alle Beiträge gespeichert, oder muss ich noch mehr Datenbanken dafür berücksichtigen?

Danke für die Hilfe.

Liebe Grüße, Sandra
Benutzeravatar
FatFreddy
Mitglied
Beiträge: 1937
Registriert: 25.07.2004 15:52
Kontaktdaten:

Re: Posts eines Forums zählen

Beitrag von FatFreddy »

SandraH.78 hat geschrieben:ich möchte gerne das die Beiträge von allen Usern aus einem bestimmten Forum gesucht werden und das Count Ergebnis von der Gesamtbeitragszahl des Users abziehen.
Beiträge ALLER User von der Beitragszahl EINES Users abziehen? Schreibfehler oder Missverständnis?

Ansonsten bist Du mit der Tabelle prefix_posts schon richtig.

FatFreddy
Watch out where the huskies go, don't you eat the yellow snow...
Mehr dazu im Reiseforum InselTalk.de.
Tupperdosensucher schauen ins Geocachingforum.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Soll das alles mit einer SQL Query gehen, die die User-Posts (also die Anzahl gleich auf den Stand bringt. Also alle Postings abzgl. der Postings in den nicht zu zählenden Foren?

So könntest Du zumindest die Postinganzahl ohne die fraglichen Foren rausbekommen ->

Code: Alles auswählen

SELECT count( p.post_id ) AS posts, p.poster_id, u.username
FROM phpbb_posts p
INNER JOIN phpbb_users u
WHERE p.poster_id = u.user_id 
AND p.forum_id NOT IN ( 1, 3, 5 ) 
AND u.user_id <> - 1
GROUP BY p.poster_id
ORDER BY posts 
Bei mir sind es im Beispiel die Foren 1, 3 und 5.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
SandraH.78
Mitglied
Beiträge: 25
Registriert: 10.07.2004 20:18

Beitrag von SandraH.78 »

Hallo,

danke für eure Antworten, mir war nur nicht klar ob die posts tabelle die einzigste ist die ich abfragen muss. Aber das weiß ich nun ja dank eurer Hilfe.


Vielen Dank.

@FatFreddy Schreibfehler, natürlich bekommen die User nur ihre beiträge abgezogen die in dem betreffenen Forum geschrieben werden.


Eine Frage habe ich noch, wie kann ich es verhindern das wenn in Zukunft Beiträge in dem betreffenden Forum geschrieben werden, die Beitragszahl um 1 erhöht wird?

Also ich müsste nur wissen in welche Datei das Query steht vom Insert in die User Tabelle, wenn das jemand auf Anhieb weiß fänd ich das spitze.


Liebe Grüße, Sandra
SandraH.78
Mitglied
Beiträge: 25
Registriert: 10.07.2004 20:18

Beitrag von SandraH.78 »

hab rausgefunden wie es zu realisieren ist.

in der include/function_posts die Zeile

Code: Alles auswählen

 $sign = ( $mode == 'delete' ) ? '- 1' : '+ 1';

ersetzen mit 

  if ($forum_id == 14||$forum_id == 21)
   {
      $sign = '';
   }
   else
   {
      $sign = ( $mode == 'delete' ) ? '- 1' : '+ 1';
   }
bei forum_id die jeweiligen ID´s der betreffenden Foren angeben.

Viele Grüße, sandra
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Es gibt dafür sogar einen Mod, der dann für das jeweilige, im ACP einzustellende Forum, das Zählen der dort eingestellten Postings abschaltet. :P
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“