Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 6 Gast/Gäste
Profilfeld hinter Name in der Onlineanzeige?
#1
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?
Zitieren
#2
https://www.mybb.de/forum/thread-1494-po...ml#pid8439
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#3
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>"
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#4
@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 ,
Zitieren
#5
So wie es Jockl beschrieben hat funkrioniert es. Vieleicht einen Fehler mit rein kopiert ?
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#6
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.
Zitieren
#7
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....
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#8
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!
Zitieren
#9
(23.12.2014, 20: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 
viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#10
In seinem Profil steht aber auch -> MyBB-Version: 1.8.3
Mit freundlichen Grüßen

MrBrechreiz
Zitieren