Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
TopPoster im Portal mit Avatar
#11
thx, hat super geklappt.
Zitieren
#12
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"
Zitieren
#13
Die Variable $uid ist nicht definiert, du musst $user['uid'] benutzen.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#14
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.
Zitieren
#15
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"

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#16
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
Zitieren
#17
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.
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
Zitieren
#18
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?
Arabic Zone - Kulturen lernen sich kennen...
Zitieren
#19
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=\"\" />";


Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#20
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
Arabic Zone - Kulturen lernen sich kennen...
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Topposter oben Loreli 18 2.523 09.01.2012, 06:32
Letzter Beitrag: Jockl