Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Datum-Problem bei Jahreswechsel?“

xxxsharkyxxx

Siebenschläfer

Ich betreibe eine Community und lösche da jeweils alle Accounts, welche sich 30 Tage nicht eingeloggt haben. Ich nutze dafür ein Skript, das einmal am Tag von einem Cronjob aufgerufen wird, der das überprüft. Das Skript sieht im wesentlichen so aus:
PHP:
$zeit = mktime() - 2592000; // 2592000 entspricht 30 Tagen in Sekunden.
    
$sql = mysql_query("SELECT
                            name
                        FROM
                            profil
                        WHERE
                            online < '$zeit' ");

while($account = mysql_fetch_assoc($sql))
{
    $name = $account["name"];
    
    mysql_query("DELETE FROM
                    XXX
                WHERE 
                    name = '$name'");
    mysql_query("DELETE FROM
                    YYY
                WHERE 
                    name = '$name'");
(...)
}
Gestern dann der Schock: Irgendwie wurden alle Accounts gelöscht die in den letzten (ich glaube zwölf) Stunden nicht aktiv waren, was ne ziemlich grosse Menge war. Das war aber bereits 2 Tage nach Jahreswechsel. Könnte das trotzdem was mit dem zu tun haben? Oder was könnte das sonst sein? Die Löschung muss durch dieses File durchgeführt worden sein, da aus genau diesen Tabellen in der DB gelöscht wurde, die in dieser Tabelle erwähnt sind. Allerdings habe ich diese Datei seit ca einem halben Jahr nicht mehr geändert und es gab nie Probleme.
Im Feld "online" in der DB wird übrigens jeweils beim login der aktuelle mktime() eingetragen.
Hat einer ne Idee?

grüsse sharky
 

saila

Moderatorle

AW: Datum-Problem bei Jahreswechsel?

also als erstes mal in die erste Zeile:
error_reporting(E_ALL);

und testen.

Wenn kein Fehler folgt, würde ich mal mktime() durch time() austauschen. Les mal bei PHP: Hypertext Preprocessor zu mktime, was diese Funktion so macht ;)
 

Haetti

Nicht mehr ganz neu hier

AW: Datum-Problem bei Jahreswechsel?

ich würde für solche Sachen jeweils die DateTime-Funktionen von MySQL verwenden. Somit gibt es bestimmt keine Probleme beim Übertragen des PHP-Zeitformats ins MySQL-Format.

MySQL :: MySQL 5.5 Reference Manual :: 11.6 Date and Time Functions

folgende ungetestete Query müsste also die User-ID der seit über 1 Monat nicht mehr tätigen User auslesen.
Code:
SELECT user_ID
FROM users
WHERE DATE_ADD(online, INTERVAL 30 DAY) < NOW()

Bei WHERE werden dem Online-Datum 30 Tage dazugezählt und kontrolliert, ob es immer noch kleiner als das jetzige Datum (inkl. Uhrzeit) ist.
 

BlackScorp

I Code for Food:D

AW: Datum-Problem bei Jahreswechsel?

ich denke das liegt irgendwie an dem UNIX timestamp, da haben auch die Banken mit zu kämpfen:D
 

saila

Moderatorle

AW: Datum-Problem bei Jahreswechsel?

ich denke das liegt irgendwie an dem UNIX timestamp, da haben auch die Banken mit zu kämpfen:D

Und dir ist bekannt, was für Systeme bei den unterschiedlichen Banken eingesetzt wird? Das ist ganz sicher kein UNIX-timestamp-Problem.

@Haetti,

so könnte man es auch lösen, allerdings ist ja bekannt, das MySql langsamer ist als PHP und somit wäre die Lösung wohl besser bei PHP bzgl. der Berechnung aufgehoben als bei MySql.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
175.158
Beiträge
2.581.869
Mitglieder
67.223
Neuestes Mitglied
Desiree
Oben