【发布时间】:2016-04-11 02:21:51
【问题描述】:
我正在尝试将 jQuery datepicker 生成的日期保存到 mysql 数据库中。我正在使用 ajax,但我只能保存 1969-12-31。 mysql 字段需要一个日期值。
任何帮助都会很棒,非常感谢。
日期选择器和表单
<script>
$(document).ready(function(){
$("#success").hide();
$(function() {
$( "#start" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#end" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#end" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#start" ).datepicker( "option", "maxDate", selectedDate );
}
});
});
$("#submitMe").on("click",function(){
var formdata = $(this.form).serialize();
$.post('dateinsert.php', formdata,
function(data){
$("#message").html(data);
$("#success").hide();
$("#success").fadeIn(500); //Fade in
});
return false;
});
});
</script>
</head>
<body>
<div class="container">
<div id="success" /></div>
</br>
<form>
<label for="start">From</label>
<input type="text" id="start" name="start">
<label for="end">to</label>
<input type="text" id="end" name="end">
<button type="submit" id="submitMe" class="btn btn-primary">Submit</button>
</form>
PHP
<?php
//include db configuration file
include_once("config.php");
$start=$_POST['start'];
$end=$_POST['end'];
$starttime = date ("Y-m-d", $start);
$endtime = date ("Y-m-d", $end);
//Insert Data into mysql
$insert_row = $mysqli->query("INSERT INTO dates(start,end) VALUES ('$starttime','$endtime')");
if($insert_row){
echo
"success";
}
else{ echo "An error occurred!"; }
?>
【问题讨论】:
-
你的日期字段是什么类型的?
-
start和end传输为什么,unix 时间戳?An error occurred!也不是一个很好的调试消息,请获取真正的错误消息。 php.net/manual/en/mysqli.error.php -
日期 ("Y-m-d", strtotime ($start));
-
您的表单是否因为未在 HTML 中指定而发出 POST 或 GET 请求? Javascript创建的日期字符串是什么格式的?
标签: php jquery mysql datepicker