Formulaire Php mysql date js calendrier [Résolu/Fermé]

Signaler
Messages postés
34
Date d'inscription
mardi 31 mai 2016
Statut
Membre
Dernière intervention
29 juin 2017
-
Messages postés
266
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
-
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

Messages postés
266
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
9
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']);
Messages postés
34
Date d'inscription
mardi 31 mai 2016
Statut
Membre
Dernière intervention
29 juin 2017

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 ^^
Messages postés
266
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
9 >
Messages postés
34
Date d'inscription
mardi 31 mai 2016
Statut
Membre
Dernière intervention
29 juin 2017

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'].'" )');
} 
Messages postés
34
Date d'inscription
mardi 31 mai 2016
Statut
Membre
Dernière intervention
29 juin 2017

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 :/
Messages postés
34
Date d'inscription
mardi 31 mai 2016
Statut
Membre
Dernière intervention
29 juin 2017

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 :)
Messages postés
266
Date d'inscription
mardi 25 avril 2017
Statut
Membre
Dernière intervention
20 juillet 2017
9
D'accord SleepyAshes, mais là tu as changé la clé de ta variable « $_POST » de « Date » à « originalDate »… Normal que ça ne marchait pas.