Nieuw lid |
|
Ik zou PHP gebruiken om de ingevoerde datum te valideren en om te zetten naar iets wat MySQL begrijpt.
B.v. Dat kan als een MySQL-DATE-constant in een string.
Query SELECT CURDATE(); of SELECT NOW(); om het formaat te zien:
SELECT CURDATE() levert op:
2008-10-08
SELECT NOW() levert op:
2008-10-08 01:29:21
Dat formaat, verpakt in een string (dus tussen quotes) , kan je gebruiken in je queries, b.v. INSERT of UPDATE, of achter de WHERE-clause.
B.v.:
INSERT INTO `bef` (`datum`) VALUES('2008-10-08');
UPDATE `bef` SET `datum`='2008-10-08' WHERE `id`=999;
Wat ook kan, zijn Unix timestamps, daar houd ik zelf wel van:
UPDATE `bef` SET `datum`=FROM_UNIXTIME(1223422383) WHERE `id`=666;
Twee mogelijkheden dus: dat string formaat of de unix timestamp. (Ja in beide gevallen wordt het opgeslagen als MySQL DATE.)
Nou wil je zeker weten hoe je met PHP de ingevoerde datum in 1 van die twee formaten krijgt...
Dat ligt aan je formuliertje!
Het allermakkelijkste om te maken is natuurlijk:
$vDatum = mysql_real_escape_string($_POST['datum']);
mysql_query(
"UPDATE `bef` SET `datum`='$vDatum' WHERE `id`=333;"
);
"UPDATE `bef` SET `datum`='$vDatum' WHERE `id`=333;" );
En dan zeg je tegen je gebruikers:
Geef a.u.b. de datum in het formaat jjjj-mm-dd (bijvoorbeeld 2008-10-08)
Hoe gebruikersvriendelijk wil je het hebben?
Dat is slechts een kwestie van een beetje prutsen met PHP. |