Zahl als Usernamen ausgeben

Eagle
Dies ist eine vorgefertigte Schablone.
Bitte fülle soviel aus, wie dir nur Möglich ist, du kannst auch gerne noch mehr Angaben machen.


Problembeschreibung:
Ich möchte gerne im Profil den Partner im Board als Link mit Namen ausgeben, dafür habe ich erstmal ein Profilfeld erstellt in das man die ID des Users eintragen kann, kann in der profile.tpl folgendes eingefügt.
code:
1:
2:
3:
4:
5:
6:
<if($userpartner)><then>
   <tr align="left">
    <td valign="top"><span class="normalfont"><b>{$lang->items['LANG_MEMBERS_PROFILE_PARTNER']}</b></span></td>
    <td><span class="normalfont">» <a href="$url2board/profile.php?userid=$userpartner">$userpartner $userpartnername</a></span></td>
   </tr>
</then></if>


Und in der profile.php
code:
1:
2:
3:
4:
5:
6:
## Partner im Profil
if ($user_info['field17']) {
	$user_info['field17'] = htmlconverter($user_info['field17']);
	$userpartner = htmlconverter($user_info['field17']); 
}
## Partner im Profil ENDE



Fehlermeldung:
Es wird die Userid des Partners mit Link angezeigt (logisch, so habe ich es ja auch angegeben), ich möchte aber statt dessen den Usernamen ausgeben.
Ich bräuchte also Hilfe bei der Umwandlung dieser angegebenen Zahl in den Namen des Users.

Link zum Forum oder Screenshot:
http://sheronya.sh.funpic.de/Sklavin/For...le.php?userid=6

Was wurde zuletzt geändert oder eingebaut?
PyroGX
poste mal die datenbankabfrage die $user_info "füllt"
dann bastelt dir das jemand so um (evtl sogar ich, je nachdem wer am schnellsten ist) das der username direkt mit ausgelesen wird



warum schickst du das ganze eigentlich zweimal durch den htmlconverter?
bei ner zahl ist das egal aber wenn nun ein username "müller" wäre würde beim ersten mal "m&uuml;ller" rauskommen und wenn du es nochmal durchjagst "m&amp;uuml;ller"

späterwürde das im browser dann so angezeigt "m&uuml;ller"
sprich nimm das einmal raus
Eagle
Es wird einfach die Userid des Partners manuell unter "Profil bearbeiten" eingegeben, also wird nur die Zahl (z.B. 6 für Userid 6) in die Datenbank bb0_userfields ins field17 geschrieben.

Hab 1x htmlconverter rausgenommen, danke für den Hinweis!
PyroGX
man braucht aber die datenbankabfrage um den usernamen direkt mit auszulesen und da ich nicht weis ob du an dieser abfrage irgendwas geändert hast oder welche wBB version du benutzt wäre es das einfachste wenn du mir deine datenbankabfrage gibt damit ich das dann dort einbauen kann

wenn du nicht weist welche das ist häng die profile.php hier einfach an
Eagle
WBB 2.3.6 pl1, steht auch im Footer großes Grinsen

Vermutlich meinst Du dies?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
$user_info = $db->query_first("SELECT ".
"u.*, ".
"uf.*, ".
"r.rankimages, r.ranktitle, ".
"a.avatarextension, a.width, a.height, ".
"s.lastactivity AS s_lastactivity, s.boardid, s.threadid, s.request_uri ".
($showlanguageinprofile == 1 ? ", l.languagepackname " : "").
"FROM bb".$n."_users u ".
"LEFT JOIN bb".$n."_userfields uf USING (userid) ".
"LEFT JOIN bb".$n."_avatars a ON (a.avatarid=u.avatarid) ".
"LEFT JOIN bb".$n."_ranks r ON (r.rankid=u.rankid) ".
"LEFT JOIN bb".$n."_sessions s ON (s.userid=u.userid) ".
($showlanguageinprofile == 1 ? "LEFT JOIN bb".$n."_languagepacks l ON (l.languagepackid=u.langid) " : "").
"WHERE u.userid='$userid'");

if (!$user_info['userid']) error($lang->get("LANG_GLOBAL_ERROR_FALSELINK", array('$adminmail' => $adminmail)));
$user_info['username'] = htmlconverter($user_info['username']);
$lang->items['LANG_MEMBERS_PROFILE_TITLE'] = $lang->get("LANG_MEMBERS_PROFILE_TITLE", array('$username' => $user_info['username']));
$lang->items['LANG_MEMBERS_PROFILE_TITLE2'] = $lang->get("LANG_MEMBERS_PROFILE_TITLE2", array('$username' => $user_info['username']));



Hier meine profile.php
PyroGX
ersetze:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
$user_info = $db->query_first("SELECT ".
"u.*, ".
"uf.*, ".
"r.rankimages, r.ranktitle, ".
"a.avatarextension, a.width, a.height, ".
"s.lastactivity AS s_lastactivity, s.boardid, s.threadid, s.request_uri ".
($showlanguageinprofile == 1 ? ", l.languagepackname " : "").
"FROM bb".$n."_users u ".
"LEFT JOIN bb".$n."_userfields uf USING (userid) ".
"LEFT JOIN bb".$n."_avatars a ON (a.avatarid=u.avatarid) ".
"LEFT JOIN bb".$n."_ranks r ON (r.rankid=u.rankid) ".
"LEFT JOIN bb".$n."_sessions s ON (s.userid=u.userid) ".
($showlanguageinprofile == 1 ? "LEFT JOIN bb".$n."_languagepacks l ON (l.languagepackid=u.langid) " : "").
"WHERE u.userid='$userid'");


mit

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
$user_info = $db->query_first("SELECT ".
"u.*, ".
"uf.*, ".
"up.username as partnerusername, ".
"r.rankimages, r.ranktitle, ".
"a.avatarextension, a.width, a.height, ".
"s.lastactivity AS s_lastactivity, s.boardid, s.threadid, s.request_uri ".
($showlanguageinprofile == 1 ? ", l.languagepackname " : "").
"FROM bb".$n."_users u ".
"LEFT JOIN bb".$n."_userfields uf USING (userid) ".
"LEFT JOIN bb".$n."_user up ON(uf.field17=up.userid) ".
"LEFT JOIN bb".$n."_avatars a ON (a.avatarid=u.avatarid) ".
"LEFT JOIN bb".$n."_ranks r ON (r.rankid=u.rankid) ".
"LEFT JOIN bb".$n."_sessions s ON (s.userid=u.userid) ".
($showlanguageinprofile == 1 ? "LEFT JOIN bb".$n."_languagepacks l ON (l.languagepackid=u.langid) " : "").
"WHERE u.userid='$userid'");




UNGETESTET
Eagle
Es muss heißen users, nicht user Freude
Und statt partnerusername -> userpartnername
Ansonsten: Keine Änderung, wird weiterhin die nur die Userid ausgegeben

Muss ich hier:
code:
1:
2:
3:
4:
5:
## Partner im Profil
if ($user_info['field17']) {
	$userpartner = htmlconverter($user_info['field17']);
}
## Partner im Profil ENDE

nichts ändern?
PyroGX
Zitat:
Original von Eagle
Es muss heißen users, nicht user Freude

stimmt
Zitat:
Original von Eagle
Und statt partnerusername -> userpartnername

das is egal
Zitat:
Original von Eagle
Muss ich hier:
code:
1:
2:
3:
4:
5:
## Partner im Profil
if ($user_info['field17']) {
	$userpartner = htmlconverter($user_info['field17']);
}
## Partner im Profil ENDE

nichts ändern?


doch, stimmt smile
da musste das "field17" jeweils in das ändern was du oben genommen hast (also "userpartnername" bzw "partnerusername"
Eagle
Also:
code:
1:
2:
3:
4:
5:
6:
## Partner im Profil
if ($user_info['field17']) {
	$userpartner = $user_info['field17'];
	$userpartnername = htmlconverter($user_info['userpartnername']);
}
## Partner im Profil ENDE


Das funktioniert!
RESPEKT!
Und
DANKE!
PyroGX
bittesehr