Enregistrer date format fr dans BDD MySQL
D_AmOn
-
annabe Messages postés 2 Statut Membre -
annabe Messages postés 2 Statut Membre -
Bonjour,
Je me casse la tête depuis plusieurs jours avec les dates !!
Voici mon problème : le visiteur insère dans un champ sa date de naissance (au format jj/mm/aaaa). Jusque la tout va bien. Mais impossible de convertir cette date en format américain (yyyy-mm-dd) pour la rentrer dans MySQL !! Quelqu'un peu t-il m'aider svp =( J'ai fait de nombreux forums mais impossible de trouver la réponse...
Voici mon code :
<?php
mysql_connect("localhost", "Boum", "");
mysql_select_db("Test");
if (isset($_POST['dateNaissance']))
{
$dateNaissance = mysql_real_escape_string(htmlspecialchars($_POST['dateNaissance']));
mysql_query("INSERT INTO Membre VALUES('" . STR_TO_DATE('$dateNaissance', '%d/%m/%Y') . "')");
}
?>
PS : je suis débutant en PHP/MySQL...
Je me casse la tête depuis plusieurs jours avec les dates !!
Voici mon problème : le visiteur insère dans un champ sa date de naissance (au format jj/mm/aaaa). Jusque la tout va bien. Mais impossible de convertir cette date en format américain (yyyy-mm-dd) pour la rentrer dans MySQL !! Quelqu'un peu t-il m'aider svp =( J'ai fait de nombreux forums mais impossible de trouver la réponse...
Voici mon code :
<?php
mysql_connect("localhost", "Boum", "");
mysql_select_db("Test");
if (isset($_POST['dateNaissance']))
{
$dateNaissance = mysql_real_escape_string(htmlspecialchars($_POST['dateNaissance']));
mysql_query("INSERT INTO Membre VALUES('" . STR_TO_DATE('$dateNaissance', '%d/%m/%Y') . "')");
}
?>
PS : je suis débutant en PHP/MySQL...
A voir également:
- Enregistrer date format fr dans BDD MySQL
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Audacity enregistrer son pc - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
3 réponses
voilà:
if (isset($_POST['dateNaissance'])){
$dateNaissance_fr=htmlspecialchars($_POST['dateNaissance']);
$array_date_naissance=explode("/",$dateNaissance_fr);
$dateNaissance_mysql=$array_date_naissance[2]."-".$array_date_naissance[1]."-".$array_date_naissance[0];
mysql_query("INSERT INTO Membre VALUES('" . mysql_escape_string($dateNaissance_mysql)."')"); //attention tu dois mettre les values dans l'ordre de tes champs de ta table
Avec un explode() simplement.
if( !empty($_POST['dateNaissance']) )
{
if( preg_match('#^\d{2}/\d{2}/\d{4}$#', $_POST['dateNaissance']) )
{
$date = explode('/', $_POST['dateNaissance']);
if( checkdate($date[1], $date[0], $date[2]) )
{
$sql = "INSERT INTO Membre VALUES('" . $date[2] . '-' . $date[1] . '-' . $date[0] . "')";
mysql_query($sql);
}
else
{
// Date invalide
}
}
else
{
// Format invalide
}
}
else
{
// Champ vide
}Tu peux encore affiner la chose en vérifiant que la date fournie est par exemple supérieure à 1900 et inférieure à celle (d'aujourd'hui moins 10ans).
J'ai appliqué le même code sans succès. Quelqu'un peut-il m-aider svp. Je déséspère ... :(
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("membres", $con);
$sql="INSERT INTO benevoles (nom, prenom, datenaissance, secteur) VALUES ('$_POST[nom]','$_POST[prenom]','$_POST[datenaissance]','$_POST[secteur]')";
if( !empty($_POST['datenaissance']) )
{
if( preg_match('#^\d{2}/\d{2}/\d{4}$#', $_POST['datenaissance']) )
{
$date = explode('/', $_POST['datenaissance']);
if( checkdate($date[1], $date[0], $date[2]) )
{
$sql = "INSERT INTO benevoles VALUES('" . $date[2] . '-' . $date[1] . '-' . $date[0] . "')";
mysql_query($sql);
}
else
{
// Date invalide
}
}
else
{
// Format invalide
}
}
else
{
// Champ vide
}
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
?>
J'arrive pas à enregistrer la date en format accepté YYYY-MM-DD par mysql
Merci infiniment
Anna
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("membres", $con);
$sql="INSERT INTO benevoles (nom, prenom, datenaissance, secteur) VALUES ('$_POST[nom]','$_POST[prenom]','$_POST[datenaissance]','$_POST[secteur]')";
if( !empty($_POST['datenaissance']) )
{
if( preg_match('#^\d{2}/\d{2}/\d{4}$#', $_POST['datenaissance']) )
{
$date = explode('/', $_POST['datenaissance']);
if( checkdate($date[1], $date[0], $date[2]) )
{
$sql = "INSERT INTO benevoles VALUES('" . $date[2] . '-' . $date[1] . '-' . $date[0] . "')";
mysql_query($sql);
}
else
{
// Date invalide
}
}
else
{
// Format invalide
}
}
else
{
// Champ vide
}
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
?>
J'arrive pas à enregistrer la date en format accepté YYYY-MM-DD par mysql
Merci infiniment
Anna