d/m/Y in form als Y-m-d in database plaatsen
Ik heb even een vraag: ik heb een datepicker die de europese datum plaatst. Dus is de form staat dan bv. 01/01/2007 (is dus d/m/Y). Maar de datum moet in de database in het veld datum en deze is als DATE geselecteerd. Het moet dus omgetoverd worden naar 2007-01-01 (dus Y-m-d). Weet iemand hoe ik dat om kan zetten?
Thnx,
Seb.
P.S.: het makkelijkste is natuurlijk om in de form Y-m-d te zetten, maar ik wil dit het liefst niet.
http://www.phphulp.nl/forum/showtopic.php?cat=1&id=24399
ik weet niet als je dit zomaar mag jatten van Jan, maar ik denk wel dat het een goed plan is om óf met select-fields te gaan werken, óf met een javascript kalendertje in de vorm van een popupje.. (ik zoek even naar een voorbeeld)
en waarom wil je dat niet dan?
Je moet dus een opdracht geven bij begint deze dan met $datum = ........
Nou, gewoon exploden en in een database zetten? Of nog eenvoudiger, de functie aanpassen zodat het standaard er al netjes in database-formaat uit komt rollen.
Sorry, maar ik ben (helaas) geen pro. Kun je wellicht een voorbeeld geven?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function een_to_ander ($datum_eur)
{
$delen = explode ("/" , $datum_eur);
$dag = $delen[0]; //deze 3 hernoemingen
$maand = $delen[1]; //zijn alleen voor de
$jaar = $delen[2]; //duidelijkheid
//nu doen we het dus zo:
$datum_db = $jaar . '-' . $maand . '-' . $dag;
//het kan ook in één keer zo:
$datum_db = $delen[2] . '-' . $delen[1] . '-' . $delen[0];
return $datum_db;
}
$datum = '03/01/2007'; //3 jan 2007
$datum = een_to_ander ($datum);
echo $datum; //2007-01-03
?>
function een_to_ander ($datum_eur)
{
$delen = explode ("/" , $datum_eur);
$dag = $delen[0]; //deze 3 hernoemingen
$maand = $delen[1]; //zijn alleen voor de
$jaar = $delen[2]; //duidelijkheid
//nu doen we het dus zo:
$datum_db = $jaar . '-' . $maand . '-' . $dag;
//het kan ook in één keer zo:
$datum_db = $delen[2] . '-' . $delen[1] . '-' . $delen[0];
return $datum_db;
}
$datum = '03/01/2007'; //3 jan 2007
$datum = een_to_ander ($datum);
echo $datum; //2007-01-03
?>
Tip: Voordat je de boel in MySQL gaat wegschrijven, nog wel even met de functie checkdate() controleren of de datum ook een geldige datum is. MySQL heeft namelijk geen enkele moeite met 31 februari, volgens MySQL is dat gewoon een geldige datum: 2007-02-31 wordt dan 2007-03-03. Dit kan voor rare/vervelende verrassingen zorgen.