Ik ben een beginner met PHP dus dit is hopelijk een makkelijk vraagje.
Uit mijn database haal ik een datum die ik via datefomat omzet naar %d-%m-%Y. De datum kan vervolgens op het formulier gewijzigd worden. Nadat deze datum is gewijzigd wil ik de database bijwerken. Alleen hoe dat ik dat? Immers het formaat van het veld is nu %d-%m-%Y terwijl het in de database als %Y-%m-%d moet worden opgeslagen.
Ik heb met date_format lopen rotzooien om het weer naar het standaard formaat om te zetten, alleen dat is me tot nu niet gelukt.
<?php
$date="11-12-2005"; //hier de ingevulde datum
$split = explode("-",$date);// datum splitsen
$datum = $split[2]."-".$split[1]."-".$split[0];// datum weer opbouwen
// datum echo'en
echo $datum;
?>
@Willem-Jan: Of het wel of niet werkt is niet zo interessant, je kunt nu ook A of B invullen als datum omdat je geen controles uitvoert. Lijkt me niet zo handig. De oplossing van Robert is stap 1, daarna moet er nog worden gecontroleerd of de datum ook correct is. 2005-02-30 lijkt mij namelijk niet helemaal wenselijk, om een voorbeeldje te noemen.
Klopt Willem-Jan, ik gaf alleen aan op welke manier dat kan. Of het de beste manier is, of dat er niet gecontroleerd wordt was niet aan de orde.
Natuurlijk ben ik van mening dat er wel een controle in moet komen. NOOIT zomaar $_POST variabelen naar een database schrijven, dat doe ik zelf ook niet. haha, alleen wijken we nu nogal van de topic af :P
Ik vind: datums NOOIT in een tekstvak laten invullen. Gewoon drie selectboxen maken met dag maand en jaar. Dan weet je zeker dat je drie getallen krijgt. Daarna een check inbouwen of de datum klopt.
edit: de maanden met 30 of 31 dagen weet je zelf wel. Februari is altijd een lastige.
Een schikkeljaar is deelbaar door vier.
Als het jaar bovendien deelbaar is door 100 is het geen schrikkeljaar.
Als het jaar bovendien deelbaar is door 400 is het toch een schrikkeljaar.
@Jan: Ook dan weet je nog steeds niet zeker dat je getallen binnen krijgt. Er zijn hele leuke tooltjes, o.a. extensions voor FireFox, om de waardes te veranderen. Controles blijven dus noodzakelijk.