Tabelle enthält bereits Daten nach Umstellung auf neue Saison

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!

  • Hi zusammen,


    ich nutze die aktuelle Version des Buli-Tippspiels. Läuft aktuell unter PHP 7.4. Es geht rein um die 1. Bundesliga.

    Nun habe ich - wie jedes Jahr - die Saision auf die neuste Saison umgestellt. Also:

    • Dump für die neue Saison eingespielt (Tabellen liegen, teams und teams_liga
    • Termine über das Admin-FE aus dem XDataService geladen
    • Zur Sicherheit noch einmal die Rangliste/Tabelle neu berechnet (über das Admin-FE)
    • In der config.inc.php die Einträge $saison['jahr1'] auf 2022 und $saison['jahr2'] auf 2023 gesetzt

    Zunächst dachte ich: ok, lief ja alles wieder glatt wie in den letzten Jahren. Dann habe ich in die Tabelle geschaut. Dort scheinen irgendwo her 4 Spiele zu kommen. Zumindest führt bei mir RB Leipzig mit 3 Siegen und einem Unentschieden vor den Bayern mit 3 Siegen und einer Niederlage.


    Und ich finde um's Verrecken nicht, wo die Spiele herkommen. Die beiden Abfragen


    SQL
    1. SELECT * FROM `bulitipp_spiele` where saison = '2023' and (tore_heim is not null or tore_gast is not null);
    2. SELECT * FROM `bulitipp_spiele` where saison = '2023' and finished = 1;


    Liefert mir beide ein leeres Ergebnis. Das hatte ich so auch erwartet.


    Das einzige was mir auffällt ist, dass das DropDown neben "Rangliste neu berechnen" leer ist. Browser-Cache habe ich gelöscht.


    Hat jemand eine Idee, woran das liegen könnte. Mir reicht auch schon ein Hinweis, in welche Richtung ich weiter suchen könnte. Ich kann ja auch ein wenig was selbst schaffen. ;)


    lg

    Oetzi

  • In der config.inc.php die Einträge $saison['jahr1'] auf 2022 und $saison['jahr2'] auf 2023 gesetzt --> ich hoffe, das Ändern in der config hattest Du zuerst gemacht gehabt?


    Das einzige was mir auffällt ist, dass das DropDown neben "Rangliste neu berechnen" leer ist. Browser-Cache habe ich gelöscht --> ist bei mir momentan auch so!


    Über den Saison-Dump kommen definitiv keine Ergebnisse. Ich hab gerad mal im xdataservice geschaut gehabt, dort wurden auch noch keine Spiele testweise ausgewertet. Das der xds-Server mitdrinnen hängt, mhh, aber mir ist alles sauber!


    In der Tabelle _ligen sind auch die ID's korrekt, Du hast keine Archivligenverwaltung? Falls ja, dann musst die ID's fortlaufend halt anpassen.

  • Hi kaikiste,


    danke für deine Analyse. Ich hatte das noch ein paar mal probiert, aber das Ergebnis war immer das gleiche. Ich konnte das Problem nun lösen, indem ich in der Datei include/functions.inc.php eine weitere if-Abfrage in der Methode precalc_season_table ergänzt habe. Ich hänge mal die Diff-Datei an (Zeilennummern könnten bei mir andere sein, da ich bestimmt schon was an der Datei geändert hatte).


    Problem war wohl hauptsächlich, dass es für die precalc ID 0 bei mir in der precalc-Tabelle tatsächlich Datensätze gibt (keine Ahnung, ob das noch Datenmüll von ganz früher ist). Die hat er sich dann gegriffen.

    Jetzt wird zumindest die Tabelle korrekt angezeigt. Der Rest des Tests steht jetzt natürlich noch aus. :S


    lg

    Oetzi


    wrong_data_in_league_table.txt

  • Du sprichst einen sehr "wunden" Punkt an: die DB-Tabelle _precalc, Ich hatte zuletzt auch immer wieder mal Probleme mit dem Auslesen von Daten und dem generieren der Ansichten.. Da ich zusätzlich eine Archivverwaltung pflege kam es schon vor das da Daten durcheinander geraten waren. Du scheinst programmiertechnisch einiges an Erfahrung zu haben, ich hatte die precalc Tabelle geleert gehabt, nicht gelöscht und hab mir für jede Saison die Daten NEU über xds/xdataservice geholt gehabt. Auch jetzt hab ich einige Datensätz mit quasi "Null" - Daten. Ach, da blick ich zu wenig durch, auch bei einer Ändderung in der Datei functions.inc.php tue ich mich schwer...

  • Hi,


    wirklich durchgeblickt, was nun genau da passiert ist, habe ich um ehrlich zu sein auch nicht. Was es nun etwas schwerer macht einzuschätzen, ob meine Änderung irgendwelche Seiteneffekte hat. Ich werde es (hoffentlich während meines Tests und vor der nächsten Saison) merken. ;)


    Letztendlich ist meine Änderung nur, dass so getan wird, als gibt es keinen Eintrag in der Precalc-Tabelle, wenn die Methode check_precalc vorher eine Precalc-ID 0 zurückgegeben hat. Funzt für mein konkretes Problem. Ob es andere Seiteneffekte hat: we'll see....