2017-09-13 5 views
0

datepickerから日付を挿入しようとしていますが、SQL文が動作していません。datepickerからPHPのMySQLデータベースに日付を挿入

if(isset($_POST['confirm'])) 
{ 
    $order_finish_time = $_POST['order_finish_time']; 
    $note = $_POST['note']; 
    $finish_query = mysqli_query($link, "INSERT INTO orderdetails SET order_finish_time=$order_finish_time AND note=$note WHERE order_id=$order_id"); 
    $order_r = mysqli_fetch_array($finish_query); 
    if(isset($order_r)) 
    { 
     $result = mysqli_query($link, "UPDATE orderdetails SET order_status = 'Order_Finished' WHERE order_id=$order_id"); 
     ?> 
     <script>alert('Order confirmed!');</script> 
     <script>document.location = 'orderdetails.php';</script> 
     <?php 
    } 
    else 
    { 
     ?> 
     <script>alert('Something wrong');</script> 
     <script>document.location = 'orderdetails.php';</script> 
     <?php 
    }   
} 

コードの他の部分が動作してイムなっている何か間違ったメッセージ: はここのコードです。あなたが私のコードでエラーを見つけることができるなら、私を助けてください。使用

フォームイムは、次のとおりです。ここ

<html> 
 
<head> 
 
</head> 
 
<body> 
 
\t <form class="form-horizontal" method="post"> 
 
\t \t <div class="row"> 
 
\t \t \t <div class="col-xs-12"> 
 
\t \t \t \t Order will be finished : 
 
\t \t \t \t <input id="datepicker" class="form-control" name="order_finish_time" required/> 
 
\t \t \t </div> 
 
\t \t </div> 
 
\t \t <button type="submit" name="confirm" id="confirm" class="btn btn-success btn-lg" style="width: 100%;"> 
 
\t \t \t <span class="glyphicon glyphicon-ok-sign"></span> 
 
\t \t \t Confirm 
 
\t \t </button> 
 
\t </form> 
 

 
\t <!-- datepicker --> 
 
\t <script> 
 
\t $("#datepicker").datepicker({ 
 
\t \t dateFormat : 'yy-mm-dd' 
 
\t }); 
 
\t </script> 
 
</body> 
 
</html>

は、私のテーブルの写真です: enter image description here

+0

使用しているフォームとDatepickerプラグインを表示してください。 –

+0

あなたのデータベーステーブル構造とあなたが得ているエラーを共有してください。文字列を一重引用符で囲むことをお勧めします。 MySqlのDate、Datetime、Timestampの各タイプは、いくつかのフォーマットしか受け入れられないと考えてください。 –

答えて

0

あなたのコードは、多くの点で不完全であると思われます。 jQueryとjQuery UIは頭に定義されていません。 フォームに名前textのフィールドがありません。 データベースに接続していません。 変数$order_idがコードで定義されていません。

文を実行した後にvar_dump(mysqli_error_list($link));を使用して、SQLで発生する可能性のあるエラーを確認してください。これは手順的なスタイルです。

質問が間違っています。 where節を挿入することはできません。選択、更新、および削除に使用されます。

正しい挿入クエリは

$finish_query = mysqli_query($link, "INSERT INTO `orderdetails` (`order_finish_time`, `note`) VALUES ('$order_finish_time', '$note')"); 

だろう、あなたのプログラムが行うことになっているかを説明してください。それは今のところ書かれているようには意味をなさない。これは動作しますが、私はあなたの意図を知らないので、それは論理的に間違っているかもしれません。

<?php 
if (isset($_POST['confirm'])) { 
    $order_finish_time = $_POST['order_finish_time']; 
    $note = $_POST['note']; 
    $link = mysqli_connect('localhost', 'root', '', 'orderdetails'); 
    $finish_query = mysqli_query($link, "INSERT INTO `orderdetails` (`order_finish_time`, `note`) VALUES ('$order_finish_time', '$note')"); 
    $order_id = mysqli_insert_id($link); 
    if($finish_query === true) 
    { 
     $result = mysqli_query($link, "UPDATE `orderdetails` SET `order_status` = 'Order_Finished' WHERE `id`=$order_id"); 
     ?> 
      <script>alert('Order confirmed!');</script> 
      <script>document.location = 'orderdetails.php';</script> 
     <?php 
    } 
    else 
    { 
     ?> 
      <script>alert('Something wrong');</script> 
      <script>document.location = 'orderdetails.php';</script> 
     <?php 
    }   
} 

?> 
+0

おかげでたくさん!はい私のSQLステートメントは正しくありませんでした、それは少し注文し、システムを受け入れる注文です、私は全体のコードを投稿しなかったより明確にしようとしました。私はこのページに行くときにリンクでorder_idを取得しましたが、私はフォームでorder_idを送信しませんでした。私のエラーは論理的なものでした。今はすべてを修正しました。うまく動いています:)助けてくれてありがとう –

+0

問題はありませんあなたが答えを受け入れるか、それがあなたにとって有益だった場合にはそれをアップヴォートするといいでしょう。ありがとう! –

関連する問題