IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

date mysql et affichage


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut date mysql et affichage
    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:
    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');
        }
    Elle fonctionne bien.

    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)

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Tu n'aurais pas plus facile avec la classe dateTime

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Il fallait effectivement que je crée un objet dateTime dans mon "setter"

    Voilà le code corrigé:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public function setTimeCheckin($dateMySql) {
            $this->_timeCheckin = strtotime($dateMySql);
            return $this;
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupération date Mysql
    Par miram dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 09/02/2006, 13h17
  2. variables tableau dans requettes mysql ... et affichage
    Par mulbek dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/10/2005, 16h29
  3. conversion date timestamp vers date mysql
    Par seb0026 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 13/10/2005, 19h48
  4. [SGBD] Convertir une donnée Date MYSQL en format Francais
    Par hillairet dans le forum Débuter
    Réponses: 4
    Dernier message: 28/09/2005, 15h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo