2016-08-28 17 views
1

jQueryの日付ピッカーを使用したアンケートフォームがありますが、MySQLデータベースに日付を挿入する際に問題が発生しています。結果はすべてゼロになる。jQuery datepickerをMySQLに挿入する際に問題が発生しました

私のPHPとMySQLのスキルはあまり役に立ちませんので、大いに感謝します。

データベースの日付形式はdatetimeです。

私のコードは以下の通りです。

<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でsurveydateに使用したデータ型は何ですか? –

+0

下記の解決策を提供し、理由も正当化しました。それらを試してみてください。 :) –

答えて

1

surveydateデータ型日付である場合あなたはそれが唯一の「0000-00-00」と入力しますDB他の賢明に「はYmd」形式を使用して入力する必要があるので。

2つの方法のいずれかを確認してください。これによりコードが改善されます。

方法1: jqueryデータピッカー自体のデータ型の変更。

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

で:

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

は、いずれかの方法を採用交換DB

に入るながら日付の書式を変更:

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

方法2。 method1を使用する場合は、必要に応じてmethod-2を実行する必要はなく、逆も同様です。

+0

@ Phil。あなたが解決策を得たなら、私の答えを最高のものとして受け入れることができました:)。あなたがこの信用をもって私に恵まれることを願っています。 –

+0

こんにちは@Naresh Kumar.Pはい、あなたは正しいです、私はただ受け入れました。助けてくれてありがとう。 – Phil

関連する問題