MyBB.de Forum
Profilfeld hinter Name in der Onlineanzeige? - 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: Profilfeld hinter Name in der Onlineanzeige? (/thread-31164.html)

Seiten: Seiten: 1 2


Profilfeld hinter Name in der Onlineanzeige? - MUMFORD - 23.12.2014

Hallo,
ich weiß das Anliegen klingt etwas merkwürdig, aber mich würde es trotzdem interessieren, ob und wie es geht.
Und zwar möchte gerne hinter den Namen in der Onlineanzeige also hier
Zitat:Wer ist online? [Vollständige Liste]
17 Benutzer aktiv in den letzten 15 Minuten: 2 Mitglieder, 0 davon unsichtbar und 12 Gäste
Yandex, Google, Yahoo, HCF, MUMFORD
hinter z.B. MUMFORD (Hier wird ein kurzes Profilfeld ausgelesen), Person 2 (Feld), Person 3 (Feld) angeben. Diese Profilfeld ist bei der Registrierung verpflichtend.
Wäre das möglich und wenn ja wie?


RE: Profilfeld hinter Name in der Onlineanzeige? - MrBrechreiz - 23.12.2014

https://www.mybb.de/forum/thread-1494-post-8439.html#pid8439


RE: Profilfeld hinter Name in der Onlineanzeige? - Jockl - 23.12.2014

Angenommen, Du fragst das Profilfeld "fid1" ab, kannst Du die index.php wie folgt ändern:
ersetze die Zeilen
PHP-Code:
    $query $db->query("
        SELECT s.sid, s.ip, s.uid, s.time, s.location, s.location1, u.username, u.invisible, u.usergroup, u.displaygroup
        FROM "
.TABLE_PREFIX."sessions s
        LEFT JOIN "
.TABLE_PREFIX."users u ON (s.uid=u.uid)
        WHERE s.time > '"
.$timesearch."'
        ORDER BY 
{$order_by}{$order_by2}
    "
); 
durch
PHP-Code:
    $query $db->query("
        SELECT s.sid, s.ip, s.uid, s.time, s.location, s.location1, u.username, u.invisible, u.usergroup, u.displaygroup, p.fid1
        FROM "
.TABLE_PREFIX."sessions s
        LEFT JOIN "
.TABLE_PREFIX."users u ON (s.uid=u.uid)
        LEFT JOIN "
.TABLE_PREFIX."userfields p ON (s.uid=p.ufid)
        WHERE s.time > '"
.$timesearch."'
        ORDER BY 
{$order_by}{$order_by2}
    "
); 
und
PHP-Code:
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']); 
durch
PHP-Code:
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup'])."<span style=\"padding-left:5px;\">({$user['fid1']})</span>"



RE: Profilfeld hinter Name in der Onlineanzeige? - MUMFORD - 23.12.2014

@MRBrechreiz: Danke für den Link, aber wo wie was muss ich da machen?
@Jockl: Danke für den konkreten Lösungsvorschlag, leider verursacht es irgendeinen Fehler?
Zitat:SQL Error:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 6
Query:
SELECT s.sid, s.ip, s.uid, s.time, s.location, s.location1, u.username, u.invisible, u.usergroup, u.displaygroup, p.fid1 FROM mybb_sessions s LEFT JOIN mybb_users u ON (s.uid=u.uid) LEFT JOIN mybb_userfields p ON (s.uid=p.ufid) WHERE s.time > '1419359207' ORDER BY ,



RE: Profilfeld hinter Name in der Onlineanzeige? - MrBrechreiz - 23.12.2014

So wie es Jockl beschrieben hat funkrioniert es. Vieleicht einen Fehler mit rein kopiert ?


RE: Profilfeld hinter Name in der Onlineanzeige? - MUMFORD - 23.12.2014

Er hat das ORDER BY {$order_by}, {$order_by2} nicht gemocht Smile
Jetzt klappt es so halbwegs. Leider wird mir der Inhalt des Profilfelds nicht ausgegeben, also ich sehe nur die zwei Klammern, obwohl etwas im Feld drin steht.


RE: Profilfeld hinter Name in der Onlineanzeige? - Jockl - 23.12.2014

PHP-Code:
ORDER BY {$order_by}, {$order_by2
ist ja auch schon im Original enthalten. Daran wird es wohl nicht gelegen haben.... Wink

Hast Du denn "fid1" entsprechend angepasst? Ich weiß ja nicht, welches Userfeld Du abfragen willst und welche ID es hat....


RE: Profilfeld hinter Name in der Onlineanzeige? - MUMFORD - 23.12.2014

Also keine Ahnung, bei mir steht an der Stelle in der index.php
ORDER BY u.username ASC, s.time DESC
und sobald ich das wieder einsetze krieg ich auch keinen Fehler.

Ja, ich habs mit der 7 ersetzt.
Habs jetzt aber nochmal komplett neu gemacht.

Ich hatte anscheindend bei letzten mal vergessen die obere id zu ändern.

Vielen Dank Jockl!


RE: Profilfeld hinter Name in der Onlineanzeige? - Jockl - 23.12.2014

(23.12.2014, 21:15)MUMFORD schrieb: Also keine Ahnung, bei mir steht an der Stelle in der index.php
ORDER BY u.username ASC, s.time DESC
und sobald ich das wieder einsetze krieg ich auch keinen Fehler.

Manchmal ist es ganz hilfreich, wenn man bei solchen Fragen auch mitteilt, dass man (noch) MyBB 1.6 verwendet, vor allen Dingen, wenn man die Anfrage im 1.8er Forum einstellt. Wink
In der Version 1.6 ist der von Dir genannte Code enthalten. Mein Code bezieht sich auf MyBB 1.8.

Dann ersetze in den o.a. Zeilen
PHP-Code:
ORDER BY {$order_by}, {$order_by2
durch
PHP-Code:
ORDER BY u.username ASCs.time DESC 



RE: Profilfeld hinter Name in der Onlineanzeige? - MrBrechreiz - 23.12.2014

In seinem Profil steht aber auch -> MyBB-Version: 1.8.3