AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Aktivste Mitglieder bei PHP-FUSION
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Aktivste Mitglieder bei PHP-FUSION

Ein Thema von Zacherl · begonnen am 11. Okt 2006 · letzter Beitrag vom 13. Okt 2006
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

[PHP] Aktivste Mitglieder bei PHP-FUSION

  Alt 11. Okt 2006, 13:02
Hi,
ich habe auf meiner Seite, die auf PHP-FUSION basiert ein Script erstellt, welches die 5 aktivsten Mitglieder auflistet. Bisher geht diese Auflistung nach der Anzahl der Posts im Forum ... Jetzt haben einige Benutzer den Wunsch geäußert, dass ich die Tabelle anhand der Gesamtpunkte (Forum, Shoutbox und Kommentare) ermitteln solle.

Hat jemand eine Idee, wie ich das am besten realisieren könnte?
Hier mal mein aktuelles Script
Code:
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="52" align="left">[img]<?php echo IMAGES . 'own/active_member.png'; ?>[/img]</td><td valign="top">In dieser Liste können die aktivisten User eingesehen werden. Der User mit den meisten Gesamtbeiträgen wird über der Tabelle nominiert. Die Tabelle beinhaltet die fünf aktivsten Foren Mitglieder.</td></tr></table>

<?php
$highnr = 0;
$result = dbquery("SELECT * FROM ".$db_prefix."users ORDER BY user_posts Desc LIMIT 5");
while ($data = dbarray($result))
{

$rank = 'Neuling';
$img = IMAGES . 'ranks/0.gif';
      if ($data['user_posts'] >= 25) { $rank = 'Junior Member'; $img = IMAGES . 'ranks/1.gif'; }
      if ($data['user_posts'] >= 50) { $rank = 'Light Member'; $img = IMAGES . 'ranks/2.gif'; }
      if ($data['user_posts'] >= 100) { $rank = 'Advanced Member'; $img = IMAGES . 'ranks/3.gif'; }
      if ($data['user_posts'] >= 250) { $rank = 'Senior Member'; $img = IMAGES . 'ranks/4.gif'; }
      if ($data['user_posts'] >= 500) { $rank = 'Elite Member'; $img = IMAGES . 'ranks/5.gif'; }
      if ($data['user_posts'] >= 1000) { $rank = 'Top Member'; $img = IMAGES . 'ranks/6.gif'; }
      if ($data['user_posts'] >= 5000) { $rank = 'Super Member'; $img = IMAGES . 'ranks/master.gif'; }
      if ($data['user_posts'] >= 10000) { $rank = 'Ehren Member'; $img = IMAGES . 'ranks/master2.gif'; }

  $echostr = $echostr . "<tr>";
  $echostr = $echostr . "<td class='tbl2'>";
  $echostr = $echostr . "[url=" . BASEDIR . "]" . $data['user_name'] . "[/url]";
  $echostr = $echostr . "</td>";

  $echostr = $echostr . "<td class='tbl1'>";
  $echostr = $echostr . "<span class='alt'>Beiträge: </span>" . number_format($data['user_posts']) . "
<span class='alt'>Rang: </span>" . $rank . "
[img]" . $img . "[/img]";
  $echostr = $echostr . "</td>";

  $echostr = $echostr . "<td class='tbl1'>";
  $echostr = $echostr . number_format(dbcount("(shout_id)", "shoutbox", "shout_name='".$data['user_id']."'"));
  $echostr = $echostr . "</td>";

  $echostr = $echostr . "<td class='tbl1'>";
  $echostr = $echostr . number_format(dbcount("(comment_id)", "comments", "comment_name='".$data['user_id']."'"));
  $echostr = $echostr . "</td>";
 
  $currentnr = $data['user_posts'] + dbcount("(shout_id)", "shoutbox", "shout_name='".$data['user_id']."'") + dbcount("(comment_id)", "comments", "comment_name='".$data['user_id']."'");
 
  $echostr = $echostr . "<td class='tbl1'>";
  $echostr = $echostr . $currentnr;
  $echostr = $echostr . "</td>";

  $echostr = $echostr . "</tr>";
 
  if ($highnr < $currentnr) { $highnr = $currentnr; $highdata = $data;}

?>

<p align="center">[b]Aktivestes Mitglied:[/b]</p>
<center><table width="300" height="150" cellpadding="0" cellspacing="0" class="tbl-border"><tr><td>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
    <tr>
        <td class="tbl2" width="150" height="150" align="center">
            <?php echo "[url=" . BASEDIR . "]" . $highdata['user_name'] . "[/url]"; ?>
           



            [img]<?php echo IMAGES . [/img]" alt="Avatar" title="Avatar">
        </td>
        <td class="tbl1" width="150" height="116" align="center" valign="center">
            <table cellpadding="0" cellspacing="0" width="151" bordercolordark="white" bordercolorlight="black">
                <tr>
                    <td width="151"><center><span class='alt'>Forenbeiträge: </span>
<?php echo $highdata['user_posts']; ?></center></td>
                </tr>
                <tr>
                    <td width="151"><center><span class='alt'>Shoutboxeinträge: </span>
<?php echo number_format(dbcount("(shout_id)", "shoutbox", "shout_name='".$highdata['user_id']."'")); ?></center></td>
                </tr>
                <tr>
                    <td width="151"><center><span class='alt'>Kommentare: </span>
<?php echo number_format(dbcount("(comment_id)", "comments", "comment_name='".$highdata['user_id']."'")); ?></center></td>
                </tr>
                <tr>
                    <td width="151"><center><span class='alt'>Gesamtpunkte: </span>
<?php echo $highnr; ?></center></td>
                </tr>
            </table>
        </td>
    </tr>
</td></tr></table></table></center>





<table width="100%" cellpadding="0" cellspacing="0" class="tbl-border"><tr><td>
<table width="100%" border="0" cellpadding="0" cellspacing="1">
<tr><td width="200" class="forum-caption">[b]Name:[/b]</td><td class="forum-caption">[b]Forumstatus:[/b]</td><td class="forum-caption">[b]Shoutboxbeiträge:[/b]</td><td class="forum-caption">[b]Kommentare:[/b]</td><td class="forum-caption">[b]Gesamtpunkte:[/b]</td class="forum-caption"></tr>
<?php echo $echostr; ?>
</tr></td></table></table>
Vielen Dank
Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: [PHP] Aktivste Mitglieder bei PHP-FUSION

  Alt 11. Okt 2006, 13:19
Du könntest ein paar LEFT JOINs reintun und dann mit AS usw. arbeiten.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: [PHP] Aktivste Mitglieder bei PHP-FUSION

  Alt 11. Okt 2006, 13:28
Ich kenne mich fast gar nicht aus mit SQL und PHP ... für so was wie da oben reicht es grade so ...
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: [PHP] Aktivste Mitglieder bei PHP-FUSION

  Alt 11. Okt 2006, 13:58
Jetzt habe ich eine funktionierende, wohl aber unsaubere Lösung gefunden ... ich gehe die Liste aller User durch und trage jeden User mit seiner UserID und seiner Gesamtpunktzal in eine neue Tabelle ein und frage die neue Tabelle hinterher ab.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#5

Re: [PHP] Aktivste Mitglieder bei PHP-FUSION

  Alt 11. Okt 2006, 14:02
Wenn deine Useranzahl mal die 10 000ener Marke übersteigen sollte, viel Spass.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: [PHP] Aktivste Mitglieder bei PHP-FUSION

  Alt 13. Okt 2006, 12:42
Hehe ... wenn das passiert, dann hat mir vielleicht jemand erklärt, wie ich es performanter machen könnte.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz