MyBB.de Forum

Normale Version: TopPoster im Portal mit Avatar
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
thx, hat super geklappt.
Hallo,

ich habe nochmal eine Frage wegen diesem Thema hier. Also ich habe jetzt noch ein bisschen an dem Code herum probiert, und nun auch hinter dem Usernamen immer die Beitragsanzahl anzeigen lassen. War natürlich total happy auch mal etwas alleine in php hingekriegt zu haben, auch wenn es nichts besonderes ist Big Grin

Jetzt wollte ich eigentlich noch das Skript insofern optimieren, dass man auf den Benutzernamen klickt und sofort in sein Profil einsehen kann. Ich habe es mit folgendem Skript probiert, es hatte allerdings nicht geklappt. Was habe ich da falsch gemacht, bzw. was fehlt?

PHP-Code:
    $topposter "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
    
$query $db->query("SELECT username, avatar, postnum, uid FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,5");
    while (
$user $db->fetch_array($query))
    {
    $topposter .= $user['uid'];
    
$topposter .= "<tr><td align=center><img src=\"".$user['avatar']."\"></td></tr>\n";
    
$topposter .= "<tr><td align=center><a href=\"member.php?action=profile&amp;uid=\$uid\">".$user['username']."</a> (".$user['postnum'].")<br /><br /></td></tr>\n";
    }
    
$topposter .= "</table>\n"
Die Variable $uid ist nicht definiert, du musst $user['uid'] benutzen.
Also meinst du so?

PHP-Code:
$topposter "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
    
$query $db->query("SELECT username, avatar, postnum, uid FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,5");
    while (
$user $db->fetch_array($query))
    {
    
$topposter .= $user['uid'];
    
$topposter .= "<tr><td align=center><img src=\"".$user['avatar']."\"></td></tr>\n";
    
$topposter .= "<tr><td align=center><a href=\"member.php?action=profile&amp;uid=\$user['uid']\">".$user['username']."</a> (".$user['postnum'].")<br /><br /></td></tr>\n";
    }
    
$topposter .= "</table>\n"

Ich habe es mal so versucht, es hatte aber leider nicht geklappt.
Versuchs mal so:
PHP-Code:
$topposter "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
    $query $db->query("SELECT username, avatar, postnum, uid FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,5");
    while ($user $db->fetch_array($query))
    {
    $topposter .= $user['uid'];
    $topposter .= "<tr><td align=center><img src=\"".$user['avatar']."\"></td></tr>\n";
    $topposter .= "<tr><td align=center><a href=\"member.php?action=profile&amp;uid=".$user['uid']."\">".$user['username']."</a> (".$user['postnum'].")<br /><br /></td></tr>\n";
    }
    $topposter .= "</table>\n"
Perfekt es hat geklappt. Vielen Dank Michael. Ich habe nur noch eine Kleinigkeit verändert:

PHP-Code:
$topposter "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
    $query $db->query("SELECT username, avatar, postnum, uid FROM ".TABLE_PREFIX."users ORDER BY postnum DESC LIMIT 0,5");
    while ($user $db->fetch_array($query))
    {
    $userprofile .= $user['uid'];
    $topposter .= "<tr><td align=center><img src=\"".$user['avatar']."\"></td></tr>\n";
    $topposter .= "<tr><td align=center><a href=\"member.php?action=profile&amp;uid=".$user['uid']."\">".$user['username']."</a> (".$user['postnum'].")<br /><br /></td></tr>\n";
    }
    $topposter .= "</table>\n"

Und zwar folgende Zeile:
PHP-Code:
$userprofile .= $user['uid']; 

anstatt von:
PHP-Code:
$topposter .= $user['uid']; 

Dadurch werden nicht die "uid"-Zahlen angegeben. Also nur falls jemand dieses Skript ebenfalls verwenden will Wink
arabiczone schrieb:[...]
Und zwar folgende Zeile:
PHP-Code:
$userprofile .= $user['uid']; 

anstatt von:
PHP-Code:
$topposter .= $user['uid']; 

Dadurch werden nicht die "uid"-Zahlen angegeben. Also nur falls jemand dieses Skript ebenfalls verwenden will Wink
Wenn du die uid nicht anzeigen willst, kannst du auch diese ganze Zeile weglassen! Die ist dann überflüssig.
Hallo,

ich habe noch eine ergänzende Frage. Wie kriege ich es hin, wenn ein User kein Avatar hat, dass dann trotzdem ein anderes Bild angezeigt wird?
Das kannst du über eine einfache if-Abfrage machen:
PHP-Code:
if(empty($user['avatar'])) {
    $user['avatar'] = "<img src=\"images/avatars/ersatzavatar.gif\" border=\"0\" alt=\"\" />";

Ich habe das mal so eingefügt:
PHP-Code:
...
    
$newmember .= "<tr><td><img src=\"".$user['avatar']."\" border=0 width=100 height=100>
         if(empty(\""
.$user['avatar']."\")) {
    "
.$user['avatar']." = <img src=\"images/avatars/ersatzbild.jpg\" border=\"0\" alt=\"\">;
}
.... 

Allerdings wird mir jetzt das Ersatzbild ständig angezeigt, und auch ein bisschen Quellcode, also muss ich irgendetwas falsch gemacht haben. Sad
Seiten: 1 2 3