Zahlenproblem bei Datum

Hallo Leutz!
Ich habe das Forum 15 Mins durchforstet, habe aber nix gefunden...

zu meinem Prob:

Ich hole mir den Tag eines Datums aus einer MYSQL DB und während des Scripts wird diese Zahl um 1 verkleinert (n-1).
Diese Zahl soll dann als neues Datum eingefügt werden...
Problem allerdings bei einstelligen Zahlen...
Denn...

03-1=2 und nicht 02

Meine Frage:
Wie schaffe ich es den Wert zu verkleinern ohne die Null zu verlieren?

Ich hatte mir schon überlegt einfach beim Einfügen eine Null davor zu setzen, aber dann sind die zweistelligen Tage aufeinmal dreistellige (17 => 017)...

Danke im voraus für Eure Hilfe
Hockeyfan aka. Simon Scholz
 
Hab noch ein Anliegen!
Wie schaffe ich es, dass wenn der Wert ins negative geht, er entweder nicht mehr angezeigt wird oder der Vormonat erscheint...

mit freundlichen Grüßen
Simon
 
Meine Empfehlung: Speichere die Daten als Timestamps. Timestamps zeigen dir die Anzahl vergangener Sekunden seit dem 01.01.1970 00:00 Uhr an. Dann kannst du einfach immer -86400 rechnen und hast automatisch immer den richtigen Tag.
 
Meine Empfehlung: Setze das Feld als DATE oder DATETIME in der DB und nutze die Datums- und Zeitfunktionen von MySQL.
Wenn ich Dich richtig verstanden habe, willst Du ein Datum in der Datenbank um einen Tag zurücksetzen? Dann könnte das funktionieren:
Code:
UPDATE tabelle SET datumfeld=DATE_SUB(datumfeld,INTERVAL 1 DAY) WHERE id=IDDesZuUpdatendenEintrags;

Gruß hpvw
 
tapferesschneiderlei hat gesagt.:
PHP bietet auch so eine Funktion:
PHP:
$heute = '2005-03-01';
 $gestern = date('Y-m-d', StrToTime($heute . ' -1 DAY'));
Natürlich kann PHP auch mit einem Datum rechnen, aber, wenn es darum geht, ein Feld in einer Datenbank auf Basis des bestehenden Inhalts zu aktualisieren, benötigt man mit der PHP-Variante 2 Querys, eins zum Auslesen und eins zum Aktualisieren, daher meine Empfehlung, das mit SQL zu lösen.
 
Zurück