Fehler Rangliste, unbekannter User mit UserID 0?

Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!

  • Ich habe heute beim Prüfen der Rangliste einen "Phantomuser" entdeckt.
    Der User wird ohne Namen angezeigt, hat aber einen Tipp abgegeben.
    Bin also sofort in die Datenbank und hab die wmtipp_users angeschaut.
    Dort wurde alles korrekt aufgelistet, 29 User.


    Dann habe ich mir die Tabelle wmtipp_tipps angeschaut und siehe da, dort wird ein Tipp gelistet von einem User mit der ID 0.
    Habe diesen Tipp also gelöscht und die Datenbank über DB REFRESH aktualisiert.
    Leider wird der User in der Rangliste "Auf einen Bilck" und "inkl. Bonustipps" immer noch gelistet.


    In der Datenbank taucht der User 0 außerdem noch in der Tabelle wmtipp_rangliste_boni und in wmtipp_rangliste_boni_Ist auf.


    Wie bekomme ich den ein für allemal raus?

    Dateien

    “I have not failed. I've just found 10,000 ways that won't work.”
    Thomas A. Edison, (attributed) US inventor (1847 - 1931)

  • Hey.


    Also ich habe es bei mir erstmal gelöst indem ich einfach in den Ranglisten-Funktionen als Bedingung mit eingefügt habe das die userid >0 sein muss.


    include/inc.functions.php


    Suche nach


    ORDER BY platz


    und dann anpassen:


    Line 1895
    $sql = mysql_query("SELECT * FROM ". $CONFIG['MYSQL']['PREFIX'] ."rangliste_". $type ." WHERE uid>0 ORDER BY platz ASC LIMIT ". $begin .",". $length);
    Line 2028
    $sql = mysql_query("SELECT * FROM ". $CONFIG['MYSQL']['PREFIX'] ."rangliste_".$type." WHERE uid>0 ORDER BY platz ASC");
    Line 2912
    $sql = mysql_query("SELECT * FROM ". $CONFIG['MYSQL']['PREFIX'] ."rangliste_". $type ." WHERE uid>0 AND grpid = '".$grp."' ORDER BY platz ASC LIMIT ". $begin .",". $length);
    Line 3034
    $sql = mysql_query("SELECT * FROM ". $CONFIG['MYSQL']['PREFIX'] ."rangliste_".$type." WHERE uid>0 AND grpid = '".$grp."' ORDER BY platz ASC");


    Ob das alles ist weiß ich nicht, denke aber schon. Auf jeden Fall stimmt es dann.
    Jedoch wo die Einträge überhaupt herkommen habe ich bisher auch nciht lösen können.

  • Damit wird der User nicht mehr angezeigt, soweit so gut.
    Aber die Anzahl der User wird in den Tabellen "Auf einen Blick" und "Inkl. Bonuspunkte" immer noch mit 30 angegeben
    Es sind aber tatsächlich nur 29 User.
    Da ich mich bisher bei sql Befehlen nicht auskenne, kann ich leider diese Zeilen nicht aus der Datenbank löschen.
    Ich denke das wäre die einfachste Lösung.
    Aber ich belibe dran :thumbsup:

    “I have not failed. I've just found 10,000 ways that won't work.”
    Thomas A. Edison, (attributed) US inventor (1847 - 1931)

  • Habs geschafft.
    Habe beide Tabellen in der Datenbank geleert und danach den DB REFRESH ausgeführt.
    Jetzt stimmt alles.


    edit: es geht um die tabellen "wmtipp_rangliste_boni" und "wmtipp_rangliste_boni_Ist"

    “I have not failed. I've just found 10,000 ways that won't work.”
    Thomas A. Edison, (attributed) US inventor (1847 - 1931)

  • Ich hatte ein ähnliches Problem.


    Schau mal, ob bei dir in der Tabelle wm_tipp_tipps Einträge vorhanden sind, welche dem usr 0 zugeordnet sind.
    Diese Einträge löschen und nen Refresh machen, dann sollte es passen.


    Grüße, Mo