Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Quelles sont vos méthodes pour l'insertion de dates récupérées dans un formulaire (format : jj/mm/aaaa) dans un champs MsSQL de type datetime ?
Je cherche une méthode standard, pas de bidouille
Hors ligne
T'appelle ça bidouille
$date = implode('/',array_reverse(explode('/',$date)));
? En tout cas, c'est comme ça que je fais pour mettre la date au format aaaa/mm/jj.
Lorsque je récupère une date mysql, je fais l'inverse pour la mettre au format que tu cites :
$date = implode('/',array_reverse(explode('-',$date)));
Hors ligne
Merci WhiteSpirit mais cela ne fonctionne pas avec MSSQL.
Je vais présenter le problème un peu plus précisement :
J'ai un objet de type Zend_Db_Table sur lequel je veux faire un update :
$objet
J'ai par exemple un tableau de valeur :
$tab = array (
'intitule' => "Blablablabla",
'date' => "20/12/2008"
);
Je désire faire cela :
$objet->update($tab,"Condition du where");
Cela ne marche pas, je pensais qu'en mettant un truc dans ce genre,
$tab = array (
'intitule' => "Blablablabla",
'date' => "convert(datetime,'20/12/2008',102)"
);
cela marcherait mais non j'ai une erreur me disant que je ne peux créer un datetime à partir d'un varchar or,
convert(datetime,'20/12/2008',102) fonctionne très bien en direct sur la base.
( je précise que ma plateforme de test est sous windows et celle de prod sous debian) c'est pour cela qu'il me faut une méthode propre et surtout standard.
Merci à celui qui aura une solution car là je commence à désespérer.
Hors ligne
As-tu essayer en créant une Zend_DB_Exp
$tab = array (
'intitule' => "Blablablabla",
'date' = > new Zend_Db_Expr("convert(datetime,'20/12/2008',102)"),
);
Sinon, tu peux passer par la création d'un objet Zend_Date.
$date = new Zend_Date(...);
$tab = array (
'intitule' => "Blablablabla",
'date' = > $date->get(Zend_Date::ISO_8601),
);
Voili voilou
Hors ligne
Mais oui je suis bête, j'avais oublié de l'encapsuler dans une Zend_Db_Expr
Merci de m'avoir rafraichi le cerveau !!!!!
Hors ligne
Bonsoir,
je déterre ce post par ce que je me pose quelques questions sur la gestion des date avec les base de données.
actuellement je fais comme ça mais je trouve que c'est beaucoup de code pour juste formater une date y a t'il une méthode plus courte bien sur j'ai toujours mes vielles fonctions PHP.
if (!empty($formData['dateRec'])){ $date = new Zend_Date($formData['dateRec']); $formData['dateRec'] = $date->toString("yyyy-MM-dd");} else $formData['dateRec'] =NULL;
Dernière modification par aityahia (04-03-2009 19:49:39)
Hors ligne