Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Postings zählen
#1
Hallo zusammen!

In ein paar meiner Unterforen habe ich das Zählen der Beiträge ausgestellt. Ist es dennoch möglich im Profil anzeigen zu lassen, wie viele Beitrage ein User insgesamt hat, sodass zum einen die Postzahl aus den sowieso gezählten Foren UND die komplette Summe ausgegeben wird? Ich habe es mal für ein wbblite-Forum gesehen und vergleichbare Stellen im mybb-Code gesucht, aber meine Suche war recht erfolglos.
Alternativ wäre ich auch zufrieden, beide Zähler einzeln ausgeben zu lassen Also Beitrage aus den "gezählten Bereichen" und jene, aus den nicht gezählten.

Viele Grüße
Zitieren
#2
Hallo, das würde mich auch interessieren, falls eine Lösung schon intern irgendwie gefunden wurden ist oder eben jemand weiß wie man das umsetzen könnte!
Zitieren
#3
Ich schliesse mich der Suche mal an..
Zitieren
#4
Naja wieso nicht eine neue Datenbankabfrage machen, die Beiträge dann in einer Variable speichern und diese dann eben im Profil anzeigen? Das wäre ja genau das was das Beiträge zählen auch im Post, bzw im Profil eigentlich machen soll.

Ansonsten wieso nicht so: Einfach im entsprechenden Template des verwendeten Styles das Posttemplate soweit bearbeiten dass dort die Beiträge nicht angezeigt werden, also die Variable da löschen - die Beiträge als Einstellung aber dennoch weiter zählen lassen. Dann sollten die Beiträge richtig gezählt und vollständig im Profil gezeigt werden.
Zitieren
#5
Dass das mit einer neuen Datenbankabfrage zu machen ist, ist mir schon bewusst. Ich hab nur nicht wirklich eine Ahnung wie, da die gezählten Beiträge ja in der Spalte postnum gespeichert werden und die Nummer bezieht sich ja auf die Einstellung, die man in den Foren angibt, also eben ob die Beiträge darin gezählt werden sollen oder nicht. Die Gesamtzahl an sich wird ja nirgends gespeichert.
Deshalb dachte ich mir nun, man könnte ja eigentlich die Anzahl der Zeilen in der mybb_posts-Tabelle zählen, in der eine User-ID auftaucht, denn da sind ja alle Posts gespeichert. Mein Problem ist allerdings, dass ich nicht weiss, wie ich es hinbekomme, dass spezifisch für einen User die Anzahl ausgelesen wird.
Zitieren
#6
Ich habe nun folgendes, bekomme aber nichts ausgegeben, eine Fehlermeldung auch nicht:
Vermutlich ist es völlig verkehrt, aber mit PHP arbeite ich noch nicht so lange und hab bisher auch nur kleine Abfragen geschrieben..

PHP-Code:
$totalposts $db->query("SELECT COUNT(*) AS postnum2 FROM ".TABLE_PREFIX."posts WHERE uid='".$user['uid']."'");
if (
$daysreg 0) {
 
$totalpostsall "0";
}
else 
$totalpostsall $totalposts['postnum2']; 

Wenn ich das < in ein > umwandle, wird mir die 0 angezeigt.
Zitieren
#7
$query = $db->query() gibt nicht das Ergebnis zurück, dazu muss noch $totalposts = $db->fetch_array($query) verwendet werden.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#8
Edit:

So gehts im Profil --> member.php
PHP-Code:
$query $db->query("SELECT COUNT(*) AS postnum2 FROM ".TABLE_PREFIX."posts WHERE uid='".$memprofile['uid']."'");
 while (
$totalposts $db->fetch_array($query)) {
  if (
$daysreg 0) {
   
$totalpostsall "0";
  }
  else 
$totalpostsall $totalposts['postnum2'];
 } 

So In der Threadanzeige --> inc/functions_post.php
PHP-Code:
$query $db->query("SELECT COUNT(*) AS postnum2 FROM ".TABLE_PREFIX."posts WHERE uid='".$post['uid']."'");
 while (
$totalposts $db->fetch_array($query)) {
  if (
$daysreg 0) {
   
$totalpostsall "0";
  }
  else 
$totalpostsall $totalposts['postnum2'];
 } 
Zitieren