2016-08-28 71 views
1

我有一个调查表与jQuery日期选择器,但我有问题获取日期插入MySQL数据库。结果不断出现全零。有问题插入jQuery datepicker到MySQL

我的PHP和MySQL技能不是很好,所以一点帮助将不胜感激。

数据库中的日期格式是日期时间。

我的代码如下。

<input type="text" name="surveydate" id="datepicker"> 

<?php 
session_start(); // Session starts here. 

$servername = ""; 
$username = ""; 
$password = ""; 
$dbname = ""; 

$_SESSION['firstname'] = $_POST['firstname']; 
$_SESSION['lastname'] = $_POST['lastname']; 
$_SESSION['gender'] = $_POST['gender']; 
$_SESSION['postcode'] = $_POST['postcode']; 
$_SESSION['surveydate'] = $_POST['surveydate']; 

$firstname = $_SESSION['firstname'] ; 
$lastname = $_SESSION['lastname']; 
$gender = $_SESSION['gender']; 
$postcode = $_SESSION['postcode']; 
$surveydate= $_SESSION['surveydate']; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "INSERT INTO results (firstname,lastname,gender,postcode,surveydate) 

VALUES ('$firstname','$lastname','$gender','$postcode','$surveydate')"; 

$today = date("d M Y"); 

if ($conn->query($sql) === TRUE) { 

} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 

?> 
+0

你在phpmyadmin中使用了什么样的数据类型? –

+0

以下也提供了解决方案并说明理由。试试这些。 :) –

回答

1

因为如果surveydate数据类型日期你必须使用“YMD”格式输入到数据库其他明智它会进入只能作为“0000-00-00” 。

确保这两种方法中的任何一种都能找到你的代码更好的效果。

方法1:更改jquery datpicker本身的数据类型。

$(document).ready(function() { 
$("#datepicker").datepicker({ dateFormat: 'yy-mm-dd' }); 
}); 

方法2:更改日期的格式,而进入到DB

替换:

$_SESSION['surveydate'] = $_POST['surveydate']; 

随着:

$_SESSION['surveydate'] = date('Y-m-d',strtotime($_POST['surveydate'])); 

采用任何一种方法。如果您使用method1,则无需按照方法2进行操作,反之亦然。

+0

@菲尔。如果你已经获得了解决方案,你可以接受我的答案作为最好的一个权利:)。希望你能用这个信用来支持我。 –

+0

hello @Naresh Kumar.P是的,你说得对,我刚刚接受。谢谢您的帮助。 – Phil