Anzahl an Threads eines Users in bestimmten Foren - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Anzahl an Threads eines Users in bestimmten Foren (/thread-29313.html) Seiten: Seiten:
1
2
|
Anzahl an Threads eines Users in bestimmten Foren - Gobee129 - 10.03.2014 Hey Leute, ich würde gerne wissen wie ich 1. Die genaue Anzahl an Threads eines Users in einem bestimmten Forum bekomme, und 2. Wie ich diese Anzahl als Variable auf das Userprofil einbinden kann. Beispiel: Forum A, mit Unterforum A1 User XYZ hat insgesamt 100 threads erstellt, 10 davon in Forum A, und 5 in A1. Auf dem Userprofil sollte dann idealerweise soetwas stehen wie: "Anzahl an Threads in Forum A = 15" (Click to see all threads.) Oder soetwas in der Art. Wirklich 100% wichtig wäre mir nur, dass ich die genaue Anzahl der Threads direkt sehen kann, denn ich möchte ungern jedesmal eine Datenbankabfrage eingeben müssen. ^^ Vielen Dank schonmal. RE: Anzahl an Threads eines Users in bestimmten Foren - Jockl - 10.03.2014 Die Beitragsanzahl eines Users in einem Forum kannst Du mit folgender Abfrage ermitteln PHP-Code: $query = $db->simple_select("posts", "count(pid) AS countpostnum", "uid=X AND fid = Y"); Mit den folgenden Zeilen kommst Du an die Ausgabe des Ergebnisses PHP-Code: $result = $db->fetch_array($query); RE: Anzahl an Threads eines Users in bestimmten Foren - Gobee129 - 10.03.2014 (10.03.2014, 20:13)Jockl schrieb: Die Beitragsanzahl eines Users in einem Forum kannst Du mit folgender Abfrage ermitteln Okay, ich binde $var in das Profil-Template ein, aber wo platziere ich den query code? In member.php? Wie genau sieht das aus? Und anstatt posts, möchte ich wie gesagt die anzahl an threads haben. RE: Anzahl an Threads eines Users in bestimmten Foren - Jockl - 11.03.2014 Wenn Du das im Benutzerprofil einbauen möchtest, dann ist die member.php entsprechend anzupassen, sowie das jeweilige Template für die richtige Positionierung und den Style. Wenn Du die Threads haben möchtest, dann musst Du in dem Query "posts" und "pid" durch "threads" und "tid" ersetzen.... RE: Anzahl an Threads eines Users in bestimmten Foren - Gobee129 - 11.03.2014 (11.03.2014, 07:20)Jockl schrieb: Wenn Du das im Benutzerprofil einbauen möchtest, dann ist die member.php entsprechend anzupassen, sowie das jeweilige Template für die richtige Positionierung und den Style. Ja aber was heißt "entsprechend anpassen"? Genau da brauch ich ja die Anweisung von dir, Chef.^^ Ich bin mir nicht sicher ob wir auf der gleichen Wellenlänge sind. :/ Im Userprofil wird ja Registrierungsdatum, Postanzahl, etc. angezeigt, und genauso möchte ich auch "Total posts in forum A: ***" anzeigen lassen. Also ich schreibe PHP-Code: $query = $db->simple_select("threads", "count(tid) AS countpostnum", "uid=X AND fid = Y"); ganz ans Ende der member.php (mit angepasster fid für das entsprechende forum)? Wie setze ich die uid? Denn ich kann die ja nicht fest vorgeben, es soll ja im profil des users angezeigt werden, dem diesen profil "gehört".^^ Funktioniert dafür PHP-Code: $query = $db->simple_select("threads", "count(tid) AS countpostnum", "uid=$memprofile['uid'] ?? Und dann setze ich $var in das memberprofile_template. Verstehst du was ich vorhabe? :s RE: Anzahl an Threads eines Users in bestimmten Foren - Jockl - 11.03.2014 Ein Ansatz für eine Lösung: Suche im Template member_profile folgende Zeilen Code: <tr> Code: <tr> Nun öffnest Du die Datei search.php und suchst die Zeilen PHP-Code: elseif($mybb->input['action'] == "finduserthreads") PHP-Code: if(intval($mybb->input['fid'])){ PHP-Code: eval("\$profile = \"".$templates->get("member_profile")."\";"); PHP-Code: $my_fid = "(2,16,17)"; // passe bitte die Foren-IDs entsprechend an Das sollte es gewesen sein.....und sieht so aus, wie im Anhang zu sehen ist. RE: Anzahl an Threads eines Users in bestimmten Foren - Gobee129 - 12.03.2014 Okay, ersteinmal: Super Arbeit, wow Vielen Dank! Eine kleine Hilfe bräuchte ich allerdings noch: Und zwar möchte ich, dass alle threads einer Kategorie gezählt werden (also alle foren + unterforen), bzw. alle threads eines forums + alle unterforen. Mit der momentan fid=** bekomme ich ja nur die anzahl der threads, die auch wirklich in diesem forum sind, nciht aber die anzahl der dazugehörigen threads aus den unterforen, verstehst du? Ist das irgendwie möglich? Kann ich vllt in der Suche "angeben", dass alle foren/unterforen berücksichtigt werden sollen? Oh und noch etwas ist mir aufgefallen: Wenn ich auf die Anzahl an threads klicke, dann werde ich zu der Suchergebnisseite weitergeleitet, die mir allerdings ALLE threads in dem Forum anzeigt, nicht nur meine eigenen. Wenn ich normal die Suche betätigte, das Häkchen bei "Nur Titel suchen" setze, und nur in dem bestimmten Forum suchen lasse, dann listet die normale Suche mir als Ergebnis auch nur meine eigenen threads auf, und nicht alle threads in dem forum/der kategorie. Außerdem zählt die normale Suche auch alle threads mit auf, die in den Unterforen sind. Das wäre dann ja genau das, was ich auch fürs Profil haben möchte, idealerweise. Kann man das für das memberprofil nicht genauso machen/ irgendwie diese genaue Suchfunktion übernehmen?? Wäre doch top URL mit normaler Suche: Code: http://www.marineford.com/search.php?action=results&sid=697807476dfcba55810e9a0b8baa1294&sortby=lastpost&order=desc URL mit dem Link aus dem Profil: Code: http://www.marineford.com/search.php?action=results&sid=5a9e5a1184601ccaf1797659a27c4804 ich bin hier jetzt wahrscheinlich sehr primitiv/naiv, aber müssten die URL's nicht exakt gleich sein? RE: Anzahl an Threads eines Users in bestimmten Foren - Jockl - 12.03.2014 (12.03.2014, 01:14)Gobee129 schrieb: Mit der momentan fid=** bekomme ich ja nur die anzahl der threads, die auch wirklich in diesem forum sind, nciht aber die anzahl der dazugehörigen threads aus den unterforen, verstehst du?Das lässt sich innerhalb eines MySQL Query mit "fid IN (x,y,z)" umsetzen. (12.03.2014, 01:14)Gobee129 schrieb: Oh und noch etwas ist mir aufgefallen:Das kann ich in meinem Testforum so nicht bestätigen. Durch die Abfrage PHP-Code: elseif($mybb->input['action'] == "finduserthreads")... (12.03.2014, 01:14)Gobee129 schrieb: Wenn ich normal die Suche betätigte, das Häkchen bei "Nur Titel suchen" setze, und nur in dem bestimmten Forum suchen lasse, dann listet die normale Suche mir als Ergebnis auch nur meine eigenen threads auf, und nicht alle threads in dem forum/der kategorie. Außerdem zählt die normale Suche auch alle threads mit auf, die in den Unterforen sind. Das wäre dann ja genau das, was ich auch fürs Profil haben möchte, idealerweise. Kann man das für das memberprofil nicht genauso machen/ irgendwie diese genaue Suchfunktion übernehmen??Hier kann ich Dir leider nicht folgen.... Wegen der Abfrage der Unterforen werden ich nachher den Code in meinem obigen Beitrag anpassen. RE: Anzahl an Threads eines Users in bestimmten Foren - Gobee129 - 12.03.2014 Okay ich habe jetzt diesen Code ins member_profile template eingesetzt: Code: <tr> Diesen Code in die search.php PHP-Code: if(intval($mybb->input['fid'])){ Und diesen in die member.php PHP-Code: $my_fid = "(2,16,17)"; // passe bitte die Foren-IDs entsprechend an Wobei ich hier die 2,16,17 angepasst habe. Die Anzahl, die jetzt auf meinem userprofil steht ist zwar korrekt, aber wenn ich auf die Zahl klicke, werde ich immernoch zu ALL meinen threads weitergeleitet, und eben nicht nur zu den besagten 10. RE: Anzahl an Threads eines Users in bestimmten Foren - Jockl - 12.03.2014 Ich denke, ich habe den Fehler gefunden. Ändere folgende Zeilen in der search.php PHP-Code: if(intval($mybb->input['fid'])){ PHP-Code: if(intval($mybb->input['fid'])){ |