Bonjour,
Je stocke le champ 'timeCheckin' sous forme de timestamp dans mysql.
Dans phpmyadmin, la date s'affiche correctement. ex:2011-01-10 12:36:43
J'ai une fonction qui convertie le timestamp mysql en timestamp unix:
Elle fonctionne bien.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public function getTimeCheckinUnixFormat() { return strtotime('2011-01-10 12:36:43'); }
Seulement je n'arrive pas récupérer le champ de la même façon qu'il s'affiche dans Mysql.
Voici le code de ma fonction qui va chercher les enregistrement en db:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public function fetchAllBy($search,$order) { $select = $this->getDbTable()->select()->order($order); foreach ($search as $key => $value) { $select->where($key . ' = ?', $value); } $resultSet = $this->getDbTable()->fetchAll($select); $qs = array(); foreach ($resultSet as $row) { $q = new Application_Model_UserAnswerQcm(); $q->setId($row->id) ->setTimeCheckin($row->timeCheckin); $qs[] = $q; } return $qs; }
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public function setTimeCheckin($int) { $this->_timeCheckin = (int) $int; return $this; } public function getTimeCheckin() { return $this->_timeCheckin; } public function getTimeCheckinUnixFormat() { return strtotime($this->_timeCheckin); }
Voilà les données récupérées:
<?php echo date('H:i:s d-m-Y', $userAnswer->getTimeCheckinUnixFormat()) ?>
=> 20:11:00 10-01-2011
<?php echo $userAnswer->getTimeCheckin() ?>
=> 2011
<?php echo $userAnswer->getTimeCheckinUnixFormat() ?>
=> 2011
Il semblerait que ma requête me renvoit 2011 peut importe la date stocké dans base alors que dans phpMyAdmin la date apparaît bien.
(il s'agit d'une colonne défini automatiquement par l'option Curent_Timestamp)
Partager