Seite 1 von 1
zu falls Avantar im Portal
Verfasst: 11.04.2007 14:52
von double78
ich suche nen Mod wo ich ein zu falls Avantar eines Users im Forum im Portal anzeigen lassen kann, gib es so was ?
Hab die Suche benutzt aber ohne Ergebniss was weitergeholfen hätte.
Wenn es keinen Mod gibt kann mir einer der php Götter hier helfen?
einen Block im Portal erstellen kann ich ja noch aber alles andere wie welchen code da bin ich aufgeschmissen
wär toll wenn einer helfen könnte
gruß Tom
Verfasst: 25.04.2007 13:43
von phillip
öffne die Portal.php und suche
Füge danach ein:
Code: Alles auswählen
$sql = "SELECT *
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . " AND
user_avatar != ''
ORDER BY RAND() LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Konnte den zufalls avatar nicht laden!', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$randpic = 'images/avatars/'.$row['user_avatar'];
$randuserlink = 'profile.php?mode=viewprofile&u='.$row['user_id'];
$template->assign_block_vars('randavatar', array(
'RANDAVATAR' => $randpic,
'RANDLINK' => $randuserlink
));
}
öffne portal_body.tpl, und suche
füge danach ein:
Code: Alles auswählen
<br>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<th>Zufalls Avatar</th>
</tr>
<tr>
<!-- BEGIN randavatar -->
<td align="center"><a href="{randavatar.RANDLINK}"><img src="{randavatar.RANDAVATAR}"></a></td>
<!-- END randavatar -->
</tr>
</table>
natürlich kannst du diesen Code einfügen, wo es am besten passt. schau einfach, dass du es nach einem
einfügst.
Viel Spass
Verfasst: 25.04.2007 13:50
von double78
ja sauber werd ich gleich mal ausprobieren.
Edit: phillip danke danke so wollte ich es haben!
diesen gab es bei mir in der Portal.php nicht, hab den
Code: Alles auswählen
$sql = "SELECT *
FROM " . USERS_TABLE . "
WHERE user_id <> " . ANONYMOUS . " AND
user_avatar != ''
ORDER BY RAND() LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Konnte den zufalls avatar nicht laden!', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$randpic = 'images/avatars/'.$row['user_avatar'];
$randuserlink = 'profile.php?mode=viewprofile&u='.$row['user_id'];
$template->assign_block_vars('randavatar', array(
'RANDAVATAR' => $randpic,
'RANDLINK' => $randuserlink
));
}
einfach wo anders in die portal eingebaut.
http://proevoliga.pr.ohost.de/phpBB2/portal.php wenn du es dir mal ansehen möchtes,recht im portal unter Forenstatistik.
nochmal vielen dank phillip
Verfasst: 25.04.2007 14:36
von phillip
Kein Problem. Doch ich hab gesehen, bei dir hat sich noch ein Schreibfehler eingeschlichen (Avatar, und nicht Avantar).
Verfasst: 25.04.2007 14:43
von double78
ups

Danke für den Hinweis
Verfasst: 25.04.2007 17:54
von hackepeter13
Hi,
ich hab mir den Code auch mal eingebaut.
Nun dachte ich mir aber das ich das ganze für die Nickpage mache.
Also das er das Nickpage-Bild lädt ist ja nicht das ding, aber wie mache ich es jetzt, das er zum Bild auch die passende Nickpage verlingt.
Problem ist, das beim verlinken der Nickpage in der URL der Nickname statt die User-ID benutzt wird.
Mit dem einfachen Befehlt $row['username'] gehts leider nicht richtig, also er verlinkt eben immer zu einem anderen User als er als Zufall geladen hat.
Bislang hab ich nur diesen Code als weitesten Schritt:
Code: Alles auswählen
$sql = "SELECT *
FROM " . USERS_TABLE . " a, " . NICKPAGE_TABLE . " b
WHERE b.uid=a.user_id <> " . ANONYMOUS . " AND b.pic != ''
ORDER BY RAND() LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Konnte die Zufalls-Nickpage nicht laden!', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$randpic = $row['pic'];
$randuserlink = 'nickpage.php?user='.$row['username'];
$template->assign_block_vars('randavatar', array(
'RANDAVATAR' => $randpic,
'RANDLINK' => $randuserlink
));
}
Wäre super, wenn mir jetzt noch jemand auf die Sprünge helfen kann, das er aus auch die richtige Nickpage verlinkt.
Hab schon einiges Probiert, aber leider erfolglos.
Verfasst: 25.04.2007 18:00
von phillip
Das würde dann so aussehen :
Code: Alles auswählen
$sql = "SELECT a.*, b.*
FROM " . USERS_TABLE . " a, ".NICKPAGE_TABLE." b
WHERE a.user_id = b.uid AND pic != ''
ORDER BY RAND() LIMIT 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query random user data.', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
//AVATAR --------------------------------------------------
$randpic = $row['pic'];
// USERNAME ------------------------------------------------------------
$randuser = $row['username'];
//USERLINK ------------------------------------------------------------------
$randuserlink = append_sid($phpbb_root_path.'nickpage.php?user=' .$row['username']);
$template->assign_block_vars('randavatar', array(
'RANDLINK' => $randuserlink,
'RANDAVATAR' => $randpic
));
}
Gib mir bitte bescheid

Verfasst: 25.04.2007 18:15
von hackepeter13
Super phillip
Klappt wunderbar, danke dir.
Mal sehen, was sich noch so draus machen läßt ^^