Formulaire Php mysql date js calendrier

Résolu
SleepyAshes Messages postés 34 Statut Membre -  
Felice_ Messages postés 271 Statut Membre -
Bonjour à vous!

Voilà, je reviens pour un énième problème!

Mon formulaire comporte un champ date qui est un calendrier. Quand on clique dessus, le champ input se remplit avec la date sous format JJ-MM-AAA

Mais voilà, lors de mon insertion avec php, la date est envoyé à ma bdd sous format AAAA-MM-JJ et donc ça n'affiche que 0000-00-00.

Je sollicite votre aide pour m'aider à réaliser la conversion dans mon insertion!

Voici mon code insertion :

if(isset($_POST['Enregistrer'])) //insertion nouveau champ
{
$donneebdd=$maBase->query('INSERT INTO `chantier`( `Reference`,`Date`, `Descriptif`) VALUES ( "'.$_POST['Reference'].'","'.$_POST['Date'].'" ,
"'.$_POST['Descriptif'].'" )');
}

Merci d'avance :)

1 réponse

  1. Felice_ Messages postés 271 Statut Membre 11
     
    Bonjour,

    Tu peux soit faire :
    $date          = explode('-', $_POST['Date']);
    $_POST['Date'] = $date[2] . '-' . $date[1] . '-' . $date[0];


    Soit avec les expretions régulières :
    $_POST['Date'] = preg_replace('/(\w{4})(-\w{2}-)(\w{2})/', '$3$2$1', $_POST['Date']);
    0
    1. SleepyAshes Messages postés 34 Statut Membre
       
      Bonjour et merci pour ta réponse!

      Et ça se place dans mon code de l'insertion à la place de la date?

      J'ai du mal à m'en servir ^^
      0
      1. Felice_ Messages postés 271 Statut Membre 11 > SleepyAshes Messages postés 34 Statut Membre
         
        Ainsi :
        if(isset($_POST['Enregistrer'])) //insertion nouveau champ
        {
            $_POST['Date'] = preg_replace('/(\w{4})(-\w{2}-)(\w{2})/', '$3$2$1', $_POST['Date']);
            $donneebdd     = $maBase->query('INSERT INTO `chantier`( `Reference`,`Date`, `Descriptif`) VALUES ( "'.$_POST['Reference'].'","'.$_POST['Date'].'" ,"'.$_POST['Descriptif'].'" )');
        } 
        0
    2. SleepyAshes Messages postés 34 Statut Membre
       
      C'était bien ainsi que j'avais commencé mes tests grâce à ton bout de code mais cela n'affiche dans ma bdd que 0000-00-00 :/
      0
    3. SleepyAshes Messages postés 34 Statut Membre
       
      Problème résolu grâce à une autre méthode!

      Voici ce que j'ai utilisé!

      if(isset($_POST['Enregistrer']))
      {

      $originalDate=$_POST['originalDate'];
      $NewDate = date("Y-m-d", strtotime($originalDate));

      $donneebdd=$maBase->query('INSERT INTO `chantier`( `Reference`,`Date`, `Descriptif`) VALUES ( "'.$_POST['Reference'].'","'.$NewDate.'",
      "'.$_POST['Descriptif'].'" )');

      echo $NewDate;

      }

      Merci de l'aide :)
      0
    4. Felice_ Messages postés 271 Statut Membre 11
       
      D'accord SleepyAshes, mais là tu as changé la clé de ta variable « $_POST » de « Date » à « originalDate »… Normal que ça ne marchait pas.
      0