$start_date = date('Y-m-d', strtotime(str_replace('/', '-', $query->row('startdate'))));
Ou mieux encore, modifiez simplement les données dans la base de données :
UPDATE `table` SET `startdate` = REPLACE(`startdate`, '/', '-');
... puis convertissez le champ en type DATE.
---- MODIFIER ----
En fait, le colonel Shrapnel a raison ... J'avais oublié le fait que la date doit également être inversée, donc c'est AAAA-MM-JJ ; en supposant que la date d'origine est au format JJ/MM/AAAA, une meilleure requête pourrait ressembler à :
UPDATE `table` SET `date` = CONCAT(SUBSTRING(`date`, 7), '-', SUBSTRING(`date`, 4, 2), '-', SUBSTRING(`date`, 1, 2))
Ce qui inversera les composants en une chaîne pouvant être convertie en DATE ... cela ne fonctionnera pas tout à fait si la chaîne de date d'origine n'utilise pas de zéros non significatifs 1/6/2011
par exemple... il faudrait faire quelque chose d'un peu plus intelligent dans ce cas.