Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Userliste > Zweitaccounts, Beiträge gesamt
#1
Ich bastle gerade an einer Überblicksliste aller User mit einigen Angaben und komme bei zwei Problemen nicht weiter.

Hier aber erstmal der Aufbau bildlich:
[attachment=8736]

Die Angaben Spielername, Hauptcharakter, Inplaybeiträge und Mitglied seit bekomme ich richtig angezeigt. Mein Code dafür bisher:
PHP-Code:
$userlist $db->query("
    SELECT uid, username, usergroup, FROM_UNIXTIME(regdate,'%d.%m.%Y') as formatregdate, postnum, ufid, fid17
    FROM "
.TABLE_PREFIX."users 
    JOIN "
.TABLE_PREFIX."userfields 
    ON "
.TABLE_PREFIX."users.uid = ".TABLE_PREFIX."userfields.ufid
    WHERE (usergroup <> '14') AND (as_uid = '0')
    GROUP BY fid17
    ORDER BY regdate ASC
"
);

    while(
$row $db->fetch_array($userlist)) {
        if (
$row[username] != "") {
            if (
$row['fid17']) $userlist_spielername $row['fid17'];
            else 
$userlist_spielername "";
            if (
$row['formatregdate']) $userlist_regdate $row['formatregdate'];
            else 
$userlist_regdate "";            
            if (
$row['username']) $userlist_hauptchara "<a href=\"member.php?action=profile&uid=".$row['uid']."\">$row[username]</a>";
            else 
$userlist_hauptchara "";
            if (
$row['postnum']) $userlist_postinplay $row['postnum'];
            else 
$userlist_postinplay "0";
        }
        eval (
"\$userlist_listbit .= \"".$templates->get("userlist_listbit")."\";");
    } 

Problem 01: Beiträge gesamt.
Mein Forum ist in einen Inplay- und Outplay-Bereich aufgeteilt. Die Foren sind alle so eingestellt, dass die Beiträge im Inplay gezählt werden und in der Datenbank unter postnum in der Tabelle users gespeichert werden.
In der Postbit und im Profil lasse ich zudem aber auch alle geschriebenen Beiträge auszählen.

Hier das Beispiel aus der 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'];
        } 
In meiner Userliste möchte ich die Anzahl aller geschriebenen Beiträge auch anzeigen lassen, weiss aber nicht genau, wie ich an diese Zahl herankomme.
Ich denke ja, es geht über die Datenbanktabelle posts, da dort alle Beiträge mitsamt der dazugehörigen uid gespeichert werden. Allerdings übersteigt das Abfragen über drei Tabellen meine Fähigkeiten und hoffe, mir kann dabei jemand helfen, auf die Sprünge helfen.

Problem 02: Zweitaccounts.
Mit dem EnhancedAccountSwitcher kann man weitere Accounts an seinen Hauptaccount (Hauptharakter) dran hängen. Das Ganze wird in der Datenbanktabelle users unter as_uid gespeichert.
Ich möchte nun gerne in meiner Userliste in der Spalte Zweitcharaktere die Anzahl der angehängten Accounts ausgeben lassen und die Zahl verlinken, sodass sich entweder ein Pop-Up öffnet, in dem diese angehängten Acconts mit Verlinkung zum Profil aufgelistet sind oder aber die weiteren Accounts werden direkt in der Spalte Zweitcharaktere ausgegeben, da bin ich noch unentschlossen.

Ich bin mir nicht sicher, denke aber, dass das so schwer nicht sein kann, immerhin sind alle nötigen Informationen in der Tabelle users gespeichert. Ich weiss nur nicht, wie ich an die Informationen der angehängten Accounts komme, sodass sie auch in der richtigen Userzeile angezeigt wird.
Zitieren
#2
Problem 01: Beiträge gesamt - ERLEDIGT!! Big Grin
Ich habs hinbekommen.. durch Zufall, aber immerhin hats geklappt:

PHP-Code:
    $count $db->query("
        SELECT COUNT(*) AS count
        FROM "
.TABLE_PREFIX."users u
        JOIN "
.TABLE_PREFIX."posts p
        ON (u.uid=p.uid)
        WHERE u.uid='"
.$row['uid']."'
    "
);
    
        while(
$row $db->fetch_array($count)){
            
$userid $row['uid'];
            if (
$daysreg 0) {
            
$totalpostsall "0";
            }
            else 
$userlist_postall $row['count'];
        } 

Ich versuch mich nun weiter an den Zweitaccounts, wäre aber dennoch froh über Input, sollte jemand irgendeine Idee haben Smile
Zitieren
#3
Gibt es hier vielleicht schon eine Lösung für die Ausgabe der angehängten Accounts an den Hauptaccount?
Zitieren