Ich habe keine Ahnung, was ihr und/oder das Programm da treibt, aber es gibt keine Funktion, die irgendwas verschiebt.
Der Code ist nur wenige Zeilen lang und macht ungefähr das hier:
1. Was ist die Nummer des heutigen Tages? Antwort 1 bis 7 für Montag bis Sonntag.
2. Ziehe 1 ab; Ergebnis 0 bis 6. Damit wird die Nummer des Vortages angesetzt.
2. Wenn die Nummer 0 ist, dann setze den Wert auf 7. (Es ist Montag und wir löschen den Sonntag, dieser hat die Nummer 7)
3. Lösche alle Einträge für das Feld mit dem Namen "Tag" + Nummer, denn die Werte 0,1 oder 2 stehen in den Feldern
Tag1, Tag2, Tag3, Tag4, Tag5, Tag6, Tag7 für Montag bis Sonntag.
Beispiele:
Es ist Mittwoch Nacht. Die Tagesnummer ist 3 (=Mittwoch). Wir berechnen daraus die 2 (=Dienstag).
Nun setzen wir das Feld Tag2 (=Dienstag) für alle User, die hierfür einen Eintrag hatten, auf 0.
Es ist Montag. Die Tagesnummer ist 1 (=Montag); wir berechnen daraus die 0; wenn der Wert 0 ist, setzen wir den Wert auf 7 (=Sonntag); nun löschen wir das Feld Tag7 für alle User, die hier einen Eintrag haben.
Evtl. stehe ich auf einer ganzen Fabrik voller Schläuche oder trinke heimlich und ohne mein Wissen zu viel. So oder so kann ich nicht erkennen, was hier falsch laufen kann.