Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-05-2008 12:03:16

MaitreTsiang
Membre
Lieu: Paris
Date d'inscription: 07-08-2007
Messages: 18

[Zend_Db] Insertion date dans MsSQL

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 smile

Hors ligne

 

#2 22-05-2008 14:01:42

whitespirit
Membre
Date d'inscription: 25-01-2008
Messages: 393

Re: [Zend_Db] Insertion date dans MsSQL

T'appelle ça bidouille

Code:

$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 :

Code:

$date = implode('/',array_reverse(explode('-',$date)));

Hors ligne

 

#3 22-05-2008 14:47:17

MaitreTsiang
Membre
Lieu: Paris
Date d'inscription: 07-08-2007
Messages: 18

Re: [Zend_Db] Insertion date dans MsSQL

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

 

#4 22-05-2008 14:58:31

cortex
Membre
Date d'inscription: 22-05-2008
Messages: 33

Re: [Zend_Db] Insertion date dans MsSQL

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

 

#5 22-05-2008 15:53:03

MaitreTsiang
Membre
Lieu: Paris
Date d'inscription: 07-08-2007
Messages: 18

Re: [Zend_Db] Insertion date dans MsSQL

Mais oui je suis bête, j'avais oublié de l'encapsuler dans une Zend_Db_Expr hmm

Merci de m'avoir rafraichi le cerveau smile !!!!!

Hors ligne

 

#6 04-03-2009 19:46:13

aityahia
Membre
Lieu: Béjaia
Date d'inscription: 29-07-2008
Messages: 10
Site web

Re: [Zend_Db] Insertion date dans MsSQL

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.

Code:

 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)


[ZF 1.7][ExtJS 2.2]
Vistez mon Blog

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages