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 :

Mise à jour de dates [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 15
    Par défaut Mise à jour de dates
    Bonjour à tous,
    Mon problème :
    Depuis plusieurs mois j'utilise le format de dates 2012-01-23 dans la base Mysql pour l'affichage dans les requêtes j'utilise DATE_FORMAT(date_n, "%d-%m-%Y") as date_nais et cela fonctionne, j'ai bien 23-01-20125.

    Maintenant je cherche à mettre à jour les données, j'ai un formulaire avec cette date que je modifie et que j'envoie avec la méthode post vers un fichier modif.php, tout fonctionnait jusqu'à ce matin ou j'ai voulu modifier le format d'affichage des dates en français ça c'est bon mais si je modifie la date (pour 25-01-2015) et si je tente de mettre à jour cela ne fonctionne pas j'utilise dans la requête UPDATE ci-dessous, je pense que j'ai un prb de format je cherche et je ne trouve pas la solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
        $req = $bd->prepare('UPDATE membre SET 
        login="'.$_POST['login'].'",
        date_n="'.DATE_FORMAT($_POST['date_n'], '%Y-%m-%d').'" ,
        num_esta_conj="'.strtoupper($_POST['num_esta_conj']).'" 
        WHERE id = "'. $_POST['id'] .'" ');
        $req->execute();
        $req->closeCursor();
     
        ?>
    Merci de votre aide
    Christian

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    DATE_FORMAT part d'un format mysql vers un format tiers.
    C'est STR_TO_DATE() qui faut utiliser.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Novembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 15
    Par défaut erreur
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_n="'.str_to_date($_POST['date_n'],'%Y-%m-%d').'" ,
    et cela ne met pas à jour avez-vous une idée...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le format c'est celui de la date qui tu fournies, pas celui que tu souhaites.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Novembre 2003
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 15
    Par défaut
    je viens de modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_n="'.str_to_date($_POST['date_n'],'%d-%m-%Y').'" ,
    et j'ai cette erreur

    Fatal error: Uncaught Error: Call to undefined function str_to_date()
    Le format dans mon formulaire à l'affichage est
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_FORMAT(date_n, "%d-%m-%Y")

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est une fonction mysql pas une fonction PHP.
    Et il faut impérativement utiliser les paramètres dans ta préparation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     $req = $bd->prepare('UPDATE membre SET 
        login = :login,
        date_n = STR_TO_DATE(:date_n, "%d-%m-%Y''),
        num_esta_conj= :num_esta_conj
        WHERE id = :id');
     
        $req->execute(array(':login'=>$_POST['login'], ':date_n'=>$_POST['date_n'], ':num_esta_conj'=>strtoupper($_POST['num_esta_conj']), ':id'=>$_POST['id']));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [MySQL] Problème de mise à jour date php/mysql
    Par neospirit dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 11/01/2011, 12h01
  2. Problème de mise à jour d'un champ date
    Par aloha dans le forum JDBC
    Réponses: 2
    Dernier message: 17/04/2008, 12h09
  3. [2000 Server] Problème de mise à jour windowsupdate !!
    Par rohstev dans le forum Autres Logiciels
    Réponses: 8
    Dernier message: 24/08/2005, 15h03
  4. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38
  5. problème de mise à jour de BD
    Par tidiane dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/03/2004, 15h32

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