Antworten
kleine Frage, arbeitest du mit MySQL DB? Wenn ja, musst du das Datum ins englische Format ($datum = date('Y-m-d)') konvertieren und die Spalte sollte DATE oder DATETIME sein.
So konvertierst du das Datum um:
Code: In Zwischenablage kopieren (nur IE)
... das Problem hatte ich auch vor kurzem und da hat mir VolkerK mit diesem Tip geholfen.
2.
Ja, ich arbeite mit einer mysql Datenbank
Die Lösung erscheint mir für mein Problem ein wenig kompliziert, muss mal sehen, ob es nicht noch eine andere Lösung gibt.
gruß
communikator
3.
Leider speichert MySQL nur im englischen Format. Und bei jeder Ausgabe eines Datums (2004-02-15) brauchst du dieses nur umstellen, einfacher geht es nicht. Schreibst dir ne Funktion und dann gehts schon von allein.
4.
Mein datum steht in der MySQL Datenbank wie folgt:
30.10.03 18:35:08
So warum löscht er jetzt nicht nach der obigen Anweisung:
kann er z.B. 30.10.03 12:15:02 < 16.02.04 19:05:01 nicht interpretieren?
5.
Auszug aus der Doku zu mysql_db_query:
Diese Funktion ist seit PHP 4.0.6 veraltet. Verwenden Sie diese Funktion nicht. Stattdessen sollten Sie die Funktionen mysql_select_db() und mysql_query() verwenden.Schreibe nach der Zeile mit mysql_query diese Zeile rein:
if (mysql_errno()) echo mysql_error();
Und siehe:
http://www.mysql.de/doc/de/DELETE.htmlDelete * ist falsch.
*** Nobody ***
6.
wenn es so in der Datenbank steht wird es wohl ein varchar-Feld sein. Dementsprechend ist es ein String.
Vergleichst du einen String fängst du beim ersten Zeichen an. Und da ist nun mal eine 3 GRÖßER als eine 1
7.
Fehlermeldung:
mysql_num_rows(): Supplied argument is not a valid MySQL result resource
also, irgendwie kann er das nicht interpretieren:
delete from postausg where datum < $twoweeks
Ich werde noch verrückt :-((
gruß
communikator
8.
Ja, TiBo du hast recht ich habe es als varchar abgespeichert.
Was kann ich dann machen?
9.
Du machst es dir schwerer als es ist. Warum nutzt du nicht das Format 'date' oder 'datetime' in deiner DB. 'varchar' ist für Strings und nicht für Datums- und Zeitangaben. Mit 'date' oder 'datetime' lassen sich problemlos Zeitberechnungen machen - und das war doch am Anfang dein Problem, oder?
Hier ein kleines Beispiel für Funktion Datumsumstellung:
Code: In Zwischenablage kopieren (nur IE)
... statt '$date = date('Y-m-d')' kannst du auch ein DB-Abfrage Ergebnis einsetzen. Und für eine Ausgabe kannst du es ins deutsche Format umwandeln. Eigentlich sehr einfach!