2017-12-27 14 views
0

calendar jQueryを使用してカレンダーを作成していて、日付を送信するとSQLテーブルに保存されます。 '09 -07-2017 'の代わりに'00 -00-0000'と表示されます。ここに私のコードです:私はそれが動作しない理由を理解していないSQLの日付書式が空白の結果を表示しています(例:00-00-0000のjQueryを使用)

Index.PHP: 

    <!doctype html> 
    <html lang="en"> 
    <head> 
    <section class="main-container"> 
    <div class="main-wrapper"> 
    <form class="calendar-form" action="button.inc.php" method="POST"> 
     <meta charset="utf-8"> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
     <link rel="stylesheet" href="/resources/demos/style.css"> 
     <script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
     <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
     <script> 
     $(function() { 
     $("#datepicker").datepicker({ 
     dateFormat: "yy-mm-dd", 


     }); 
     }); 
     </script> 
    </head> 
    <body> 

    <p>Date: <input type="text" id="datepicker"></p> 
    <button type="submit" name="submit">Check Availability</button> 

    </body> 
    </html> 
    Button.Inc.PHP: 

    <?php 
if (isset($_POST['submit'])) { 

    include_once 'database.inc.php'; 

    $date = mysqli_real_escape_string($conn, $_POST['datepicker']); 


    $sql = "INSERT INTO system (date) VALUES ('$date');"; 
    $result = mysqli_query($conn, $sql); 



} 

?> 
    Dbh.Inc.PHP: 

<?php 


$dbServername = "localhost"; 
$dbUsername = "root"; 
$dbPassword = ""; 
$dbName = "calendar"; 

$conn = mysqli_connect ($dbServername,$dbUsername,$dbPassword,$dbName); 

// Create connection 
$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
echo "Connected successfully"; 
?> 

、SQLとjQueryの両方のフォーマットは同じですが、何らかの理由でSQLは文句を言わない、正しく日付を格納します。

これが出力されます:

database

mysql

+0

https://stackoverflow.com/questions/9907210/mysql-date-formats-difficulty-inserting-a-dateをご覧ください。 – Snowmonkey

答えて

0

MySQLでデフォルトの日付書式を使用すると、jQueryの日付ピッカーで使用しているものであるyyyy-mm-dd、ないdd-mm-yyです。あなたがデータベースに送信する前に、日付をフォーマットするか、またはあなたは、このような代替形式を提供するために、日付ピッカーのaltField機能を使用することができます。

<script> 
    $(function() { 
     $("#datepicker").datepicker({ 
      dateFormat: "dd-mm-yy", 
      altFormat: "yy-mm-dd", 
      altField: "#mysql_date", 
     }); 
    }); 
</script> 

<form> 
    <input type="hidden" id="mysql_date" name="mysql_date" /> 
    <p>Date: <input type="text" id="datepicker" name="datepicker" /></p> 
    <button type="submit" name="submit">Check Availability</button> 
</form> 

注:私が見るので、私は<form>を追加しましたこれはあなたのコードでは見当たりません。私はname属性をinputボックスに追加しました。なぜなら、適切なフォームの提出に必要とされるからです。

関連する問題