Question

Je suis en train d'insérer date et l'heure dans datetime mysql champ. Lorsqu'un utilisateur de sélectionner une date et l'heure, il va générer deux variables POST. J'ai cherché Internet, mais toujours pas sûr de savoir comment le faire.

Mon code.

//date value is 05/25/2010
//time value is 10:00

$date=$_POST['date'];
$time=$_POST['time'];

$datetime=$date.$time

Si j'insère $ datetime dans mysql, la date semble être 0000-00-00: 00: 00: 00

Je l'apprécie si quelqu'un pouvait me aider à ce sujet. Merci.

Était-ce utile?

La solution

$datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00';
$datetime = mysql_real_escape_string($datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

solution alternative qui peut gérer plusieurs formats:

$datetime = $_POST['date'] . ' ' . $_POST['time'];
$datetime = mysql_real_escape_string($datetime);
$datetime = strtotime($datetime);
$datetime = date('Y-m-d H:i:s',$datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

Autres conseils

La date doit avoir le format indiqué pour vous: 0000-00-00 00:00:00

, vous avez donc de le convertir. Il y a mille questions sur cette conversion ici sur le SO.
La voie est comme le plus court

list($m,$d,$y) = explode("/",$_POST['date']);
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']);

Je pense que les regards format datetime comme ceci:

YYYY-MM-DD HH:MM:SS

donc vous devez formater votre datetime $ ressembler à ça. Et dans votre requête qui doit être encapsulées dans des marques de quoation.

  • Soit vous transformez la chaîne à être au format YYYY-MM-DD HH:MM:SS vous,
  • ou que vous utilisez la fonction str_to_date() de MySQL.

    Tableau INSERT INTO valeurs DATETIME (str_to_date ($ jour, "% m /% d /% Y% h:% i"))

Pour autant que je me rappelle, par défaut, datetime Mysql devrait être "aaaa-mm-jj hh: mm: ss".

J'ai ajouté date et l'heure via l'API db mysql comme ceci:


API d'appel

http://localhost/SendOrder.php?odate=20120323&otime=164545

  1. type odate est DATE
  2. type otime est TIME DB.

Il stockera Odate comme 2012-03-23 ??et OTIME comme 16:45:45.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top