2016-08-23 17 views
0

MySqlをMySqlサーバーに使用しています。私は、ユーザーがHTML形式で日付の入力タイプを使用して日付を入力できるフォーム設定しています:私はその後、入力された日付を取得するには、PHPを使用していますMySql html日付入力を使用してdatetimeでdaterangeを選択します。

<div class="ElHolder"> 
    <form action="productionOutput.php" method="get"> 
     <input type="date" name="packHistDate" required> 
     <input type="submit"> 
    </form> 
</div> 

を、私のSQLでそれを使用しようとしていますクエリ。私は$packHistDate = $_GET["packHistDate"]を私のコードの前に設定しました。

 $sql = "SELECT 
        PRODUCTS.ProductId, 
        PRODUCTS.Name, 
        DATE(PACKING_QUEUE.DatePackFinished) AS \"DateFinished\", 
        PACKING_QUEUE.Packets, 
        PACKING_QUEUE.SizeCode, 
        PACKING_QUEUE.RunSize, 
        BATCHES.BatchId 
       FROM PACKING_QUEUE 
        JOIN BATCHES ON BATCHES.BatchId = PACKING_QUEUE.BatchId 
        JOIN PRODUCTS ON PRODUCTS.ProductId = BATCHES.ProductId 
       WHERE PACKING_QUEUE.Status = 6 AND PACKING_QUEUE.DatePackFinished BETWEEN ".$packHistDate." AND NOW() 
       ORDER BY PACKING_QUEUE.DatePackFinished DESC"; 
     $result = $conn->query($sql); 

     if (!$result) { 
      printf("Errormessage: %s\n", $conn->error); 
     } 

PACKING_QUEUE.DatePackFinishedはDATETIMEで、エラーが発生する場所だと思います。しかし、私はコードが実行されるどんなエラーメッセージも受け取らないが、すべての日付が返される。

DATE()を使用して日付に変換しようとしましたが、それでも機能しません。

すべてのヘルプは大幅に

UPDATEをにappriciatedされていますので、それは'".$datePackFinished."'のようだった".$datePackFinished."周りの単一引用符に追加するにはそれを修正しました!

+0

あなたは '$ packHistDate'コンテンツについて興味がありましたか? –

+0

クエリをエコーし​​、 –

+1

'$ packHistDate'が' YYYY-MM-DD'形式であることを確認してください。最初に確認してください。私はそれも引用しなければならないと思う。 – MadMarc

答えて

0

ので、それは'".$datePackFinished."'ようにそれを修正しました".$datePackFinished."周りの単一引用符での追加を追加することによってそれを行うことができます!

0

日付部分を変更するだけです。

BETWEEN NOW() AND ".$packHistDate." 

のように日付部分を変更してください。

か、余分な単一引用符

BETWEEN NOW() AND '".$packHistDate."' 
+0

私が試してみると、何も返されません。 – Ryan

+0

あなたは一重引用符をつけることなく、一重引用符を付ける必要があると思います。すべてのデータを取得しますが、これを使用して正確な結果を得てください。 '"。$ packHistDate" ' そしていま() –

関連する問題