Seite 1 von 1

Posts eines Forums zählen

Verfasst: 28.04.2007 18:56
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

Re: Posts eines Forums zählen

Verfasst: 28.04.2007 19:06
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

Verfasst: 28.04.2007 19:10
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.

Verfasst: 28.04.2007 19:26
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

Verfasst: 29.04.2007 10:42
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

Verfasst: 29.04.2007 11:13
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