Hoe de gebruiker het invult maakt helemaal niets uit (tot op zekere hoogte), hoe jij het converteert op de server, daar gaat het om.
Dus je maakt eigenlijk drie stappen:
1) gebruiker vult iets in
2) server side converteer jij de string naar een datum
3) datum fomateer je in het formaat dat mysql kan lezen
php functie voor 2: [php]strtotime[/php]
php functie voor 3: [php]date[/php]
Het enige waar je zelf nog wel naar wilt kijken is hoe je controleert of de datum die is ingevuld wel correct is. Dat is bewerkelijker dan je denkt, tenzij je er genoegen mee neemt dat de strtotime functie mag bepalen wat er gebeurt.
Behalve dat je met die functie vooraf al moet bepalen in welk format het is. Je moet dus alsnog vooraf alles in php checken om ervoor te zorgen dat het format zo is als je wilt.... waarmee je in feite stap 2 in php al hebt gedaan. Ik gebruik het derhalve nooit.
Het enige waar je zelf nog wel naar wilt kijken is hoe je controleert of de datum die is ingevuld wel correct is. Dat is bewerkelijker dan je denkt, tenzij je er genoegen mee neemt dat de strtotime functie mag bepalen wat er gebeurt.
Maar ieder voor zichzelf, maar ik weet uit ervaring het verschil tussen PHP 2 keer een casting te laten doen en het in 1 keer in MySQL. PHP doet er 20x zolang over
Probleem met die SQL functie is, is dat je maar 1 formaat mee kan geven. Is je input niet in dat formaat dan ga je nat, terwijl het nog steeds een volkomen valide datum kan zijn. In php zal je dus moeten checken hoe het zit, en dan heb je simpelweg al het werk al gedaan. Of het nu langzamer is of niet.