MyBB.de Forum

Normale Version: uid in username umwandeln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Community,

Ich arbeite gerade an einem Plugin, bzw. einer Linkliste für MyBB. Nun habe ich in der MySQL die uid des Erstellers gespeichert. So wie ich es momentan habe steht dann da jedoch: vorgeschlagen von 3 - also 3, bzw. die uid statt dem Usernamen.

Wie kann ich nun so eine uid in den entsprechenden Username umwandeln?
Blush

MFG
Die entsprechenden Benutzernamen stehen in der Tabelle mybb_users.
Hm... vielen Dank. Smile
Jedoch muss ich ungern zugeben dass ich noch ziemlich dummie bin darin. ich kann einen kleinen Teil von PHP und den Rest probier ich, kopier ich und bieg ich bis es geht ^^

Wie würde der Code dafür, angenommen die uid ist im Moment 3 aussehen? ^^

Wäre dir sehr dankbar. Smile

MFG
Nimm diese Funktion von MyBB:

PHP-Code:
get_user($uid

Sie erwartet als Parameter die User ID und liefert den dazugehörigen Benutzernamen. Eigene SQL-Abfragen (und somit das Rad zu erfinden) ist ineffektiv, da bei der oben genannten Lösung im besten Fall nur die ID gegen den eigene Benutzernamen ausgetauscht wird bzw. der interne Cache benutzt wird.

EDIT:

Diese Funktionen dürften dich vielleicht auch interessieren:

PHP-Code:
format_name()
build_profile_link()
get_profile_link() 

Schau am besten bei sowas immer in der Funktionsreferenz von MyBB nach: https://crossreference.mybb.de/inc/functions.php.html
Wow. Vielen Dank. Wusste gar nicht dass so viele Funktionen vordefiniert sind. Smile

Das hab ich gleich einmal ausprobiert, jedoch gibt das hier:
PHP-Code:
get_user($link_data['created']); 

den Text "Array" aus. Obwohl, wenn ich zu testzwecken einfach
PHP-Code:
$link_data['created'
ausgebe, gibt es "3" aus... also meine uid...

Kann es sein dass ich etwas falsch gemacht habe dabei?
Ja, da kommt ein Array mit den Daten des Benutzers.
Okay, hätte dazuschreiben sollen, dass es ein Array mit allen möglichen Informationen zur User ID zurückliefert.
Probier das mal - ist glaube ich, was du haben willst: Wink

PHP-Code:
$uid 3;

$user get_user($uid);
$link build_profile_link(format_name($user['username'], $user['usergroup'], $user['displaygroup']), $user['uid']);

echo 
$link

P.S.: Wenn eine Ausgabe "Array" zurückliefert, lohnt es sich immer mit print_r($die_variable); den Inhalt anzuschauen.
Hast du den Code aus meinen vorherigen Beitrag genommen? Wenn ja, müsste der Namen eigentlich grün und kursiv sein...

P.S.: Wenn du das das Datum auf diese Weise ausgibts, dann wird das MyBB-interne Format genutzt:

PHP-Code:
$dateline 1278263756;

$date my_date($mybb->settings['dateformat'], $dateline);
$time my_date($mybb->settings['timeformat'], $dateline);

echo 
"{$date}{$time}"

$dateline muss einfach ein Unix-Timestamp sein.
Ne, ich habe den anderen genommen. Also wenn ich dich richtig verstehe, wird dann die andere Formatierung für Admins und Mods gemacht als für User?

Vielen Dank für die Vielen Tipps Smile Da hab ich einiges gelernt Wink Ich werd gleich mal das mit dem Datum einfügen. Ob ich wirklich möchte dass Admins hervorgehoben werden weiss ich noch nicht. Werd ich noch überdenken.

MFG