Karteileiche entfernen & einem User ein Bild zuordnen

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!

  • Hallo,


    ich hätte zwei Fragen:


    1) Ich habe aus dem zurückspielen eines Backups anscheinend beim Tippen eine "Karteileiche" (bei user scheint er nicht auf). Wie kann ich diese Leiche entfernen?


    2) Kann ich als Admin einem User ein Bild zuordnen ? Oder git es einen Weg dazu?=



    Danke!

  • zu 1: Ist aber kein User der schon getippt hat und nachher gelöscht wurde, oder? Schau mal in die Userdatenbank. Da solltest eigentlich fündig werden mit der ID. Dann folgendes ausführen.

    Code
    1. delete from wmtipp_tipps where usr in (ID des Users);
    2. delete from wmtipp_bonus_tipps where usr in (ID des Users);

    Danach Ranglisten neu generieren lassen.


    zu 2: Auch über die Userdatenbank. In userpic kannst Du ein Bild angeben. empty.jpg ist Standard. Kannst aber auch andere Bilder hochladen und auf diese verweisen.

  • Danke.


    So einfach ist das nicht, der User ist in der Userdatenbank nicht vorhanden.

    In der Tippgruppe sind auch nur 11 User, unter Mitspieler auch, in der Rangliste aber 12. Seltsam.


    Aber wenn es nicht leicht lösen geht: Nicht so mega wichtig, es war halt immer schön auf dem siegertreppchen zu sehen: benutzerxx ist letzter , jetzt steht da die karteileiche

  • genau schau in der tabelle wmtipp_tipps welche user Id da drin stehen aufschreiben Vergleiche die in der user tabelle die user und die ID`s aus den Tipps die wo in den Tipps stehen und in der user tabelle nicht auftauchen aufschreiben

    dann dieses mit den ID dieser geister ergänzen und dann ausführen

    ausführen

    Code
    1. delete from emtipp_tipps where usr in (hier die ID`s rein);
    2. delete from emtipp_bonus_tipps where usr in (Hier auch );

    Jetzt mit export den insert der Tabelle emtipp_bonus_temp herunterladen die betreffenden uid`, `pkt`


    löschen die Tabelle wmtipp_bonus_temp leeren und den geänderten insert dump wieder in die datenbank laden dann ist alles weg

    dann noch unter Admin ein DB Refresh ausführen

    nun sollte alles wieder stimmen

    Zufrieden mit dem Script und dem Support?
    Möchtest du uns unterstützen?
    Dann könntest du etwas

              Spenden


    Einmal editiert, zuletzt von oldie ()

  • genau schau in der tabelle wmtipp_tipps welche user Id da drin stehen aufschreiben Vergleiche die in der user tabelle die user und die ID`s aus den Tipps die wo in den Tipps stehen und in der user tabelle nicht auftauchen aufschreiben

    dann dieses mit den ID dieser geister ergänzen und dann ausführen

    ausführen

    Code
    1. delete from emtipp_tipps where usr in (hier die ID`s rein);
    2. delete from emtipp_bonus_tipps where usr in (Hier auch );

    warum so kompliziert? Folgendes sql Statement löscht einfach die Tipps bei zu denen es keine Eintrag in der User table gibt

    Code
    1. Delete FROM `wmtipp_tipps` Where usr not in (select id from `wmtipp_users`)
    2. Delete FROM `wmtipp_bonus_tipps` Where usr not in (select id from `wmtipp_users`)
  • und was ist wenn die noch hier wmtipp_bonus_temp enthalten sind ?

    richtig nach den nächsten Datenbank refresh sind die wieder da

    Zufrieden mit dem Script und dem Support?
    Möchtest du uns unterstützen?
    Dann könntest du etwas

              Spenden


    Einmal editiert, zuletzt von oldie ()

  • und was ist wenn die noch hier wmtipp_bonus_temp enthalten sind ?

    richtig nach den nächsten Datenbank refresh sind die wieder da

    Hab mir das grad nochmal angeschaut.

    Die Tabelle wmtipp_bonus_temp wird bei Neuerstellung der Rangliste komplett gelöscht und auf Grundlage von wmtipp_bonus_tipps neu befüllt.

    Also der korrekte Weg ist meines Erachtens folgender

    1. SQL Statements ausführen (vorher DB Backup durchführen!)
      Code
      1. Delete FROM `wmtipp_tipps` Where usr not in (select id from `wmtipp_users`)
      2. Delete FROM `wmtipp_bonus_tipps` Where usr not in (select id from `wmtipp_users`)
    2. Admin/DB Refresh -> Rangliste der Tipper neu erstellen (inkl. Boni)


    Damit sollten die Geistertipps verschwunden sein. Korrigiert mich bitte wenn ich falsch liege.

    Getestet habe ich es nicht.

  • Hi, bekomme da einen Fehler, hab ich was falsch gemacht?

  • Wenn du jetzt Fehler bekommst, bestimmt. Stelle den Ursprung wieder her !


    Gehe einfach in die Datenbank und mache es direkt dort. Hatte 2016 das gleiche Problem-ging so am besten.

    In "wmtipp_users" die ID der Störenfriede ausmachen - aufschreiben ! ID wird teilweise als UID ausgewiesen.

    Dann in folgenden Tabellen:

    - wmtipp_tipps

    - wmtipp_user_hashs

    - wmtipp_users

    und alle
    - wmtipp_bonus_xxx =mehrere Tabellen durchforsten


    Die Störenfriede löschen.

    Cronjob DB refresh ausführen - fertig.