Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] récupération dans le controleur du contenu du champ datetime

Posted by aloys on 05/25/2009 17:49

Bonjour, J'ai dans mon formulaire un champ:

 <datetime ref="date_debut"  >
 <label>Date de début</label>
 </datetime>

J'obtiens donc un calendrier

Dans mon controller si je fais:

 $debut=$this->param('date_debut');

je ne récupère rien. Du moins jLog m' indique Array.

Quelqu'un peut-il m'éclaicir? Merci.

  [Opened] Re: récupération dans le controleur du contenu du champ datetime

Reply #1 Posted by laurentj on 05/26/2009 11:13

De mémoire, je ne sais plus ce qu'il est censé stocker dans la donnée. Mais si tu obtient un array, regarde ce qu'il y a dedans ! ;-)

  [Opened] Re: récupération dans le controleur du contenu du champ datetime

Reply #2 Posted by bballizlife on 05/26/2009 11:39

jLog::dump($this->param('date_debut');

Sinon pourquoi ne pas utiliser l'API de jForms pour récupérer les données de ton formulaire ?


N'importe comment c'est dans la doc

  [Opened] Re: récupération dans le controleur du contenu du champ datetime

Reply #3 Posted by aloys on 05/26/2009 16:45

j'obtiens

 Array ( [day] => 08 [month] => 05 [year] => 2009 [hour] => 02 [minutes] => 02  [seconds] => ) 

du coup je récupère ces différents éléments et les concatene pour avoir un format date.

 $dateDebut= $suivi->svi_debut["year"]."-".$suivi->svi_debut["month"]."-".$suivi->svi_debut["day"]." ".$suivi->svi_debut["hour"].":".$suivi->svi_debut["minutes"];

puis

  $dt = new jDateTime();
 $dt->setFromString($dateDebut, jDateTime::DB_DFORMAT);

quand je fais un jLog pour voir le contenu de $dt: j'obtient:

 dateDebut:  0000-00-00

  [Opened] Re: récupération dans le controleur du contenu du champ datetime

Reply #4 Posted by laurentj on 05/26/2009 17:48

Oui d'ailleurs, comme dis bballizlife, comme tu utilises jforms, il ne faut pas récupérer les paramètres directement, il faut passer par ton objet formulaire ! Il te fera tout automatiquement.

  [Opened] Re: récupération dans le controleur du contenu du champ datetime

Reply #5 Posted by aloys on 05/27/2009 10:59

Merci à laurentj et à bballizlife pour votre aide. ça marche bien avec l'API jforms. je récupère le date au bon format. Quand je fais

 $dt = new jDateTime();
 $dt->setFromString($dateDebut, jDateTime::DB_DTFORMAT);
 $dt2 = new jDateTime();
 $dt2->setFromString($dateFin, jDateTime::DB_DTFORMAT);
 $duration = $dt->durationTo($dt2);
 $duree=$duration->seconds;

j'obtiens la durée en seconde

mais il refuse:

 $duree=$duration->hours."heures".$duration->minutes."minutes";

est-il possible d'obtenir une durée en heures minutes merci

  [Opened] Re: récupération dans le controleur du contenu du champ datetime

Reply #6 Posted by aloys on 05/27/2009 14:47

merci! ça marche!

  [Opened] Re: récupération dans le controleur du contenu du champ datetime

Reply #7 Posted by bdecaslou on 05/11/2013 11:38

Comment as tu fait pour obtenir ta durée en heures minutes secondes. J'aimerais moi qu'elle soit renvoyés en year, month , day, hour, minutes, secondes sans avoir à développer un algorithme récupérant un à un les valeurs.

La méthode durationTo me renvoyait tout à l'heure "jDuration::__set_state(array('months' => 0,'days' => 0,'seconds' => 86400,))"

Et je préfererais obtenir jDuration::__set_state(array('years' => 0,'months' => 0,'days' => 1,'hours' => 0,'minutes' => 0,'seconds' => 0,))

  [Opened] récupération dans le controleur du contenu du champ datetime

Reply #8 Posted by laurentj on 05/13/2013 17:37

Regarde du coté de DateTime PHP. Possible que tu arrives à quelque chose en donnant les secondes obtenues.

 
Page
  1. récupération dans le controleur du contenu du champ datetime