Seite 1 von 1

Beiträge zählen

Verfasst: 19.12.2006 21:36
von Pacman
Hi,

wie werden in PhpBB eigentlich die Beiträge gezählt?
Ich würde gerne die Anzahl der Beiträge unabgängig von PhpBB auf einer Website ausgeben.

Hat da jemand eine Idee?

Vielen Dank

Verfasst: 19.12.2006 22:38
von gn#36
Das kommt ganz darauf an was du genau ausgeben willst. Für die Gesamtbeiträge gibt es eine vorgefertigte Funktion (siehe includes/functions.php). Die Userbeiträge stehen in der users Tabelle, die der Topics in der topics Tabelle, die der Foren in der forums Tabelle. Die Spaltennamen sind denke ich selbsterklärend.

Immer wenn da ein Beitrag dazukommt gibts +1, wenn einer gelöscht wird -1 :lol: (das sind auch Funktionen oder zumindest Teil einer Funktion, ich meine in der functions_post.php)

Verfasst: 20.12.2006 11:32
von meisteralex
alternativ, wenn du nciht die phpbb- funktionen einbinden wills, kannst du nachtürlich auch einen querry auf die phpbb_posts loslassen, der die beträge zählt:

ohne garantie: "SELECT count(post_id) FROM phpbb_posts"

Verfasst: 20.12.2006 17:31
von Pacman
meisteralex hat geschrieben:ohne garantie: "SELECT count(post_id) FROM phpbb_posts"
Cool,
genau das meinte Ich :wink:

Eine Sache wäre da noch.
Ich habe mehere PhpBBs in meiner Datenbank.

Die Datenbanken sehen dann so aus phpbb_*_posts.
Anstatt dem * eine fortlaufende Nummer.

Jetzt würde Ich gerne für jedes einzelne Forum die Anzahl der Beiträge auslesen, in einer Variable speichern und vergleichen. Daraus soll dann eine kleine Statistik entstehen.
Bis hierhin ist es noch einfach.

Jetzt möchte Ich aber das Script nicht jedes mal von Hand ändern, wenn Ich ein neues Forum hinzufüge.
Geht das irgendwie, das Php automatisch guckt wieviele Tabellen es gibt und die Postanzahl vom ersten Forum in Variable 1, vom 2. Forum in Variable 2 speichert usw?

Vielen Dank

Verfasst: 20.12.2006 19:55
von meisteralex
ich würds so machen (klappt nur bei durchgängiger nummerierung):

Code: Alles auswählen

$start = 0 //erste tabelle ist also phpbb_0_posts



while(1)
{

$sql = "SELECT count(post_id) as anzahl FROM phpbb_".$start."_posts LIMIT 1";
$result = mysql_query($sql);

if($row = @mysql_fetch_assoc($result)) $werte[$start] = $row["anzahl"];
else break; 

$start++;

}
is jedoch nicht getestet

du solltest dann alle werte in dem arrray $werte haben, fals nicht icq -> 83712534

Verfasst: 20.12.2006 23:55
von Miriam

Code: Alles auswählen

While(1)
:D

Verfasst: 21.12.2006 00:19
von Xwitz
Ist kürzer als

Code: Alles auswählen

for ($i=1;$i<2;$i--)
:P

Verfasst: 21.12.2006 08:39
von meisteralex
lol ich weiß sieht lustig aus
fussball begeisterte können natürlich auch

Code: Alles auswählen

while((1974+1990-1954) == 2010)
schreiben

Verfasst: 21.12.2006 09:50
von Miriam
meisteralex hat geschrieben:fussball begeisterte können natürlich auch

Code: Alles auswählen

while((1974+1990-1954) == 2010)
schreiben
Das ist wirklich lustig.... Was es nicht alles gibt. :P

Aber die WHILE Schleife mit der Notbremse zu verlassen ist auch nicht gerade die feine engl. Art.... :lol: