Formulaire Php mysql date js calendrier

Résolu/Fermé
SleepyAshes Messages postés 34 Date d'inscription mardi 31 mai 2016 Statut Membre Dernière intervention 29 juin 2017 - 31 mai 2017 à 11:58
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 - 31 mai 2017 à 18:08
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 :)
A voir également:

1 réponse

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
Modifié le 31 mai 2017 à 13:26
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
SleepyAshes Messages postés 34 Date d'inscription mardi 31 mai 2016 Statut Membre Dernière intervention 29 juin 2017
31 mai 2017 à 14:06
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
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11 > SleepyAshes Messages postés 34 Date d'inscription mardi 31 mai 2016 Statut Membre Dernière intervention 29 juin 2017
31 mai 2017 à 15:48
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
SleepyAshes Messages postés 34 Date d'inscription mardi 31 mai 2016 Statut Membre Dernière intervention 29 juin 2017
31 mai 2017 à 15:57
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
SleepyAshes Messages postés 34 Date d'inscription mardi 31 mai 2016 Statut Membre Dernière intervention 29 juin 2017
Modifié le 31 mai 2017 à 17:11
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
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
31 mai 2017 à 18:08
D'accord SleepyAshes, mais là tu as changé la clé de ta variable « $_POST » de « Date » à « originalDate »… Normal que ça ne marchait pas.
0