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

PHP & Base de données Discussion :

Update avec des dates


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 59
    Par défaut Update avec des dates
    Bonjour,

    j'ai une requète sql qui, dans phpadmin fonctionne très bien et qui est la suivante:


    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE `kot_stay` SET `date_start` = STR_TO_DATE( '2020-10-16', '%Y-%m-%d'), `date_end` = STR_TO_DATE('2020-10-27', '%Y-%m-%d'), `price` = 11, `departure_time` = '20', `arrival_time` = '21' where id_stay = 446;

    La requête fonctionne très bien et les champs dates sont correctement mis à jour.

    Je transpose cette requête en php dans une fonction de ma classe, ce qui devient :

    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
    16
    17
    18
    19
    20
     
        public function update() {
            // CHANGE THIS : exemple d'utilisation
            $sql = 'UPDATE `' . self::TABLE_NAME . '` SET `'
                    . self::FIELD_START . '` = STR_TO_DATE(:start, \'%Y-%m-%d\'), `'
                    . self::FIELD_END . '` = STR_TO_DATE(:end, \'%Y-%m-%d\'), `'
                    . self::FIELD_PRICE . '` = :price, `'
                    . self::FIELD_DEPARTURE . '` = :departure, `'
                    . self::FIELD_ARRIVAL . '` = :arrival '
                    . ' where id_stay = ' . $this->_id;
     
            $this->_select = $this->_con->prepare($sql);
     
            $this->_select->bindParam(':start', $this->_start, PDO::PARAM_STR, 8);
            $this->_select->bindParam(':end', $this->_end, PDO::PARAM_STR, 8);
            $this->_select->bindParam(':price', $this->_price, PDO::PARAM_INT, 4);
            $this->_select->bindParam(':departure', $this->_departure_time, PDO::PARAM_STR, 5);
            $this->_select->bindParam(':arrival', $this->_arrival_time, PDO::PARAM_STR, 5);
            $this->exe();  // simple exécution de la requète avec stockage du retour et gestion des erreurs. Utilisé partout, n'est pas concerné par le problème.
        }


    les variables dates, copiées depuis $_POST que j'affiche sont les suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    date_start
    array(1) { [0]=> string(10) "2020-10-16" }
     
    date_end
    array(1) { [0]=> string(10) "2020-10-17" }
    les deux dates ont simplement été stockées dans les variables de classe sans manipulation.

    Le soucis, c'est qu'après mise à jour, mes deux champs dates contiennent tous les deux la valeur :
    Si vous avez une solution, je suis très intéressé de la connaître.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 59
    Par défaut
    Le problème venait de l'hydratation de la classe: les setters de date n'avaient pas leur nom structurés correctement pour une hydratation automatique.

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

Discussions similaires

  1. Réponses: 30
    Dernier message: 16/03/2020, 18h31
  2. [VB.NET] Requete avec des dates dans un DataSet
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/10/2005, 14h30
  3. Requetes avec des dates
    Par PrinceMaster77 dans le forum SQL
    Réponses: 1
    Dernier message: 22/11/2004, 17h46
  4. [Requête] Difficile (impossible ?) avec des dates
    Par starch dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/04/2004, 11h26
  5. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35

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