Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 44

Thema: problem: Top10-Addon VMS1.2

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer
    Registriert seit
    26.12.2006
    Beiträge
    64
    PHP-Code:
    <?
    /**************************************************************************************************************************************
    *****Diese Addon wurde vom User adi , klammid : 248998 zusammen gebaut und alle rechte unterliegen ihm .*******************************
    *****Sollten sie dieses Copyright ohne Erlaubnis entfernen , erlischt ihre Lizenz und zieht rechtliche Schritte mit sich .*************
    *****Wenn sie das Copyright entfernen wollen kontacktieren sie mich im forum per pn .**************************************************
    *****Spenden sind gern gesehn , spenden gerne an die klammid : 284998 *****************************************************************
    ***************************************************************************************************************************************/
    userstatus();
    ?>
    <?
    //Cache damit es weniger db abfragen macht und den traffic schont 
    if (!file_exists('dynamic_cache/top10_adi.txt') || @filemtime('dynamic_cache/top10_adi.txt') < time()-7200) //Hier sind es 7200 sec Reload = 2 Std
    {  
    ob_start(); ?> 
    <?head("Top 10 - Klicker");?>
    <table width="100%" cellpadding="1" cellspacing="1" border="0" bgcolor="#187BDF">
    <tr bgcolor="#1839DF">
    <td width="5%" align="center"><b>Rang</b></td>
    <td width="20%" align="center"><b>User</b></td>
    <td width="20%" align="center"><b>Klicks</b></td>
    <td width="20%" align="center"><b>Erklickt</b></td>
    </tr>
    <?
    $rang = 1;
    $platz1 = db_query("SELECT k.uid,k.klicks,k.kv,u.nickname FROM 
                                vms_kontodaten AS k
                                LEFT JOIN vms_userdaten AS u ON u.uid=k.uid 
                      ORDER BY k.klicks DESC LIMIT 10");
    while ($nickk = mysql_fetch_array($platz1)){
    $i++;
    echo '
    <tr class="tr_row'.($i % 2 == 0 ? '0' : '1').'">
    <td align="center">'. $rang++ .'</td>
    <td align="center"><a href="?content=/nickpage&nick='.$nickk['nickname'].'">'.$nickk["nickname"].'</a></td>
    <td align="center">'.number_format($nickk[klicks],0,",",".").'</td>
    <td width="20%" align="center">'.number_format($nickk['kv'],0,",",".").' </td>
    </tr>
    ';
    }
    ?>
    </table>
    <?foot();?>
    <br>
    <?head("Top 10 - Guthaben");?>
    <table width="100%" cellpadding="1" cellspacing="1" border="0" bgcolor="#187BDF">
    <tr bgcolor="#1839DF">
    <td width="5%" align="center"><b>Rang</b></td>
    <td width="20%" align="center"><b>User</b></td>
    <td width="20%" align="center"><b>Guthaben</b></td>
    </tr>
    <?
    $rang = 1;
    $platz2 = db_query("SELECT k.uid,k.kontostand,u.nickname FROM 
                                vms_kontodaten AS k
                                LEFT JOIN vms_userdaten AS u ON u.uid=k.uid 
                      ORDER BY k.kontostand DESC LIMIT 10");
    while ($nickg = mysql_fetch_array($platz2)){
    $i++;
    echo '
    <tr class="tr_row'.($i % 2 == 0 ? '0' : '1').'">
    <td align="center">'. $rang++ .'</td>
    <td align="center"><a href="?content=/nickpage&nick='.$nickg['nickname'].'">'.$nickg["nickname"].'</a></td>
    <td align="center">'.number_format($nickg['kontostand'],2,",",".").'</td>
    </tr>
    ';
    }
    ?></table>
    <?foot();?>
    <br>
    <?head("Top 10 - Bettler");?>
    <table width="100%" cellpadding="1" cellspacing="1" border="0" bgcolor="#187BDF">
    <tr bgcolor="#1839DF">
    <td width="5%" align="center"><b>Rang</b></td>
    <td width="20%" align="center"><b>User</b></td>
    <td width="20%" align="center"><b>Gebettelt</b></td>
    <td width="20%" align="center"><b>Erbettelt</b></td>
    </tr>
    <?
    $rang = 1;
    $platz3 = db_query("SELECT k.uid,k.angebettelt,k.bv,u.nickname FROM 
                                vms_kontodaten AS k
                                LEFT JOIN vms_userdaten AS u ON u.uid=k.uid 
                      ORDER BY k.angebettelt DESC LIMIT 10");
    while ($nickb = mysql_fetch_array($platz3)){
    $i++;
    echo '
    <tr class="tr_row'.($i % 2 == 0 ? '0' : '1').'">
    <td align="center">'. $rang++ .'</td>
    <td align="center"><a href="?content=/nickpage&nick='.$nickb['nickname'].'">'.$nickb["nickname"].'</a></td>
    <td align="center">'.number_format($nickb[angebettelt],0,",",".").'</td>

    <td width="20%" align="center">'.number_format($nickb['bv'],0,",",".").' </td>
    </tr>
    ';
    }
    ?>
    </table>
    <?foot();?>
    <br>
    <?head("Top 10 - Refjäger");?>
    <table width="100%" cellpadding="1" cellspacing="1" border="0" bgcolor="#187BDF">
    <tr bgcolor="#1839DF">
    <td width="5%" align="center"><b>Rang</b></td>
    <td width="20%" align="center"><b>User</b></td>
    <td width="20%" align="center"><b>Refs</b></td>
    </tr>
    <?
    $rang = 1;
    $platz4 = db_query('SELECT COUNT(w.uid) as anz,w.werber,u.nickname FROM '.$db_prefix.'_werberdaten AS w LEFT JOIN vms_userdaten AS u ON u.uid=w.werber WHERE w.werber!=0 GROUP BY w.werber ORDER BY COUNT(w.uid) DESC LIMIT 10'); 
    while($nickw = mysql_fetch_array($platz4)){
    $i++;
    $row = ($i % 2 == 0) ? 0 : 1;
    echo '
    <tr class="tr_row'.$row.'">
    <td align="center">'. $rang++ .'</td>
    <td align="center"><a href="?content=/nickpage&nick='.$nickw['nickname'].'">'.$nickw["nickname"].'</a></td>
    <td align="center">'.$nickw['anz'].'</td>
    </tr>
    ';
    }
    echo '
    </table>
    ';
    foot();?>
    <?head("Copyright");?>
    <!-- Diese Addon wurde vom User adi , klammid : 248998 zusammen gebaut und alle rechte unterliegen ihm .
    Sollten sie dieses Copyright ohne Erlaubnis entfernen , erlischt ihre Lizenz und zieht rechtliche Schritte mit sich .
    Wenn sie das Copyright entfernen wollen kontacktieren sie mich im forum per pn .
    -->
    <div align="center"><font size="1">Top10 Addon &copy; by <a href="http://www.vms-tutorial.de" target="_blank">adi</a></font></div>
    <?foot();?>
    <?
    //Auslesen des traffics der vor xx sec eingelesen wurde
    file_put_contents('dynamic_cache/top10_adi.txt', ob_get_flush() );  

    }else{
     echo file_get_contents('dynamic_cache/top10_adi.txt');
    }
    ?>

  2. #2
    Erfahrener Benutzer
    Registriert seit
    20.06.2007
    Beiträge
    1.905
    <code>Fatal error: Call to undefined function: file_put_contents() in /www/htdocs/w0090b1f/vms/content/intern/top10.php on line 134</code>
    Undefiniert ?
    Welche PHP Version nutzt du ?

  3. #3
    Zitat Zitat von adi Beitrag anzeigen
    Undefiniert ?
    Welche PHP Version nutzt du ?
    Version 4 wahrscheinlich

    Folgende Funktion in die functions.lib.php kopieren:

    PHP-Code:
    if (!function_exists('file_put_contents')) {
        function 
    file_put_contents($filename$data) {
            
    $f = @fopen($filename'w');
            if (!
    $f) {
                return 
    false;
            } else {
                
    $bytes fwrite($f$data);
                
    fclose($f);
                return 
    $bytes;
            }
        }

    Dann sollte es funktioieren.

    Mfg
    Sebmaster


  4. #4
    Erfahrener Benutzer
    Registriert seit
    20.06.2007
    Beiträge
    1.905
    Zitat Zitat von Sebmaster Beitrag anzeigen
    Version 4 wahrscheinlich
    Deswegen habe ich gefragt

    Aber der Fehler mit den Refjäger ist mir noch nicht vorgekommen aber ich glaube der fehler liegt daran das sich keine user angemeldet haben bwz es noch keinen werber gibt

  5. #5
    Zitat Zitat von adi Beitrag anzeigen
    Aber der Fehler mit den Refjäger ist mir noch nicht vorgekommen aber ich glaube der fehler liegt daran das sich keine user angemeldet haben bwz es noch keinen werber gibt
    Möglich, deswegen ja der Mysql_error()


  6. #6
    Erfahrener Benutzer
    Registriert seit
    13.02.2007
    Beiträge
    414
    Zitat Zitat von Tevion Beitrag anzeigen
    sauber sebmaster jetzt hab ich nur noch ein problem ^^

    Top 10 - Refjäger

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/w0090b1f/vms/content/intern/top10.php on line 110
    Diese Meldung hatte ich auch !

    Zitat Zitat von Sebmaster Beitrag anzeigen
    Dann mach mal:

    PHP-Code:
    $platz4 db_query('SELECT COUNT(w.uid) as anz,w.werber,u.nickname FROM '.$db_prefix.'_werberdaten AS w LEFT JOIN vms_userdaten AS u ON u.uid=w.werber WHERE w.werber!=0 GROUP BY w.werber ORDER BY COUNT(w.uid) DESC LIMIT 10'); 
    ersetzen mit:

    PHP-Code:
    $platz4 db_query('SELECT COUNT(w.uid) as anz,w.werber,u.nickname FROM '.$db_prefix.'_werberdaten AS w LEFT JOIN vms_userdaten AS u ON u.uid=w.werber WHERE w.werber!=0 GROUP BY w.werber ORDER BY COUNT(w.uid) DESC LIMIT 10') or die(mysql_error()); 
    und habe die php mit obiger Zeile upgedatet, doch jetzt kommt MELDUNG:

    Top 10 - Refjäger
    Invalid use of group function

    kann mir jemand sagen was falsch ist ? - SYSTEM mysql Vers. 4
    Mein Scripte-Shop:M shop.burglose.de
    Meine VMS1.2 Seite: burglose.de
    Meine VMS1.1 Seite: losehaufen.de

  7. #7
    Erfahrener Benutzer Avatar von Hardy
    Registriert seit
    24.01.2007
    Beiträge
    2.235
    Zitat Zitat von webkle Beitrag anzeigen
    Diese Meldung hatte ich auch !



    und habe die php mit obiger Zeile upgedatet, doch jetzt kommt MELDUNG:

    Top 10 - Refjäger
    Invalid use of group function

    kann mir jemand sagen was falsch ist ? - SYSTEM mysql Vers. 4
    GROUP BY und ORDER BY geht meines erachtens nicht zusammen...
    schmeiß mal GROUP BY w.werber raus
    Ich nutze den Firefox nur um Opera Google Chrome runterzuladen

  8. #8
    Benutzer
    Registriert seit
    26.12.2006
    Beiträge
    64
    Sorry das ich mich so lange nichgt gemeldet habe, lag seit MI im Krankenhaus.
    hatte ne Harte OP aber jetzt geht es wieder.

    So ich habe den Code wie Oben gepostet geändert. jetzt zeigt der "Invalid use of group function" an ich weiß zwar nicht ob das so richtig ist aber wahrscheinlich auf die nichtvorhandenen REFS und Werber zurück zu führen ....

  9. #9
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    wie lautet der code/mysql befehl noch mal genau? also bei dem die fehler meldung "invalid use of group function" kommt
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

  10. #10
    Benutzer Avatar von SilentKiller
    Registriert seit
    10.07.2009
    Beiträge
    38
    Zitat Zitat von Sebmaster Beitrag anzeigen
    Version 4 wahrscheinlich

    Folgende Funktion in die functions.lib.php kopieren:

    PHP-Code:
    if (!function_exists('file_put_contents')) {
        function 
    file_put_contents($filename$data) {
            
    $f = @fopen($filename'w');
            if (!
    $f) {
                return 
    false;
            } else {
                
    $bytes fwrite($f$data);
                
    fclose($f);
                return 
    $bytes;
            }
        }

    Dann sollte es funktioieren.

    Mfg
    Sebmaster


    Ich wusste ja schon vorher das ich ein Übersetzungsproblem habe da ich php 4.5 fahre... Wusste auch genau das es nicht schwer zu lösen ist, aber habe nach 3 stunden php forenwälzen nur eine semi elegante version gehabt, die den fehler nur an dieser stelle per if/else behebt...

    Wenn das mal nicht elegant von Dir gelöst ist weis ich auch nicht... genau 2 Sekunden arbeit und nun frisst mein script alle file_put_content befehle obwohl es php4.5 ist....

    Flawless Victory Danke für diesen Fehlerteufelvernichter

    Jetzt brauch ich nurnoch was elegantes um die division durch null zu vermeiden, ich meine, kann ja nicht die lösung sein auf die ersten 10 Betteluser zu warten bevor das weggeht in der top 10. Die Lösung ist auch relativ simpel ich kriegs nur nocht gebacken

    Es müsste ja einfach erst dann teilen, wenn der Wert nicht null ist-

    Also sowas in der Art:

    if($bettelaufrufe == 0){ $Durchschnitt=0; }
    else { $Durchschnitt=$bettelaufrufe / $bettelverdienst; }

    Natürlich nur vom Denkansatz her... ich bin bissel plöd und kriege das nicht
    auf diese Stelle so angewendet....
    Wär natürlich noch geiler wenn man das nach Sebmasters Art in der funktions lib ändern könnte, denn dieses addon ist nicht das einzigste das unsauber auf dieser division geproggt ist, kommt oft genug irgendwo vor, wo halt die meisten Zähler am Anfang mit 0 anfangen, gibt den Fehler irre oft bei vms...

    Er müsste ja einfach nur generell bei Wert 0 eine Null als Ergebnis einsetzen, und erst wenn der Wert nicht 0 ist müsste er die division
    ausführen...

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Top10-addon
    Von shakirafan im Forum Support zu Addons & Erweiterungen
    Antworten: 3
    Letzter Beitrag: 20.01.2011, 16:15
  2. Top10 Addon - Nickname statt ID
    Von Maybach im Forum Support zum VMSone
    Antworten: 15
    Letzter Beitrag: 31.08.2008, 14:07
  3. Antworten: 1
    Letzter Beitrag: 11.04.2008, 18:38
  4. Verschenke Addon vms1 und vms1.2
    Von rudicarell81 im Forum Scripte
    Antworten: 3
    Letzter Beitrag: 25.02.2008, 12:57
  5. Antworten: 4
    Letzter Beitrag: 30.12.2007, 16:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •