2017-07-25 4 views
1

Ich versuche, zwischen zwei Daten in PHP und SQL zu wählen. Allerdings sind meine PHP Daten wie folgt gedruckt:SQL/PHP - Wählen Sie zwischen zwei Daten, mit Datum ausgedruckt

July 1, 2017 

und

July 30, 2017 

Das Problem ist, dass in der Datenbank, die ich aus bin die Auswahl, die Daten wie dieser yyyy-MM-DD gespeichert : 2017-07-01 und 2017-07-30

ich versuche, eine Abfrage zu machen, zwischen zwei Terminen wählen:

SELECT dl.list_id, dl.id, dl.date, dl.list_name, dl.list_supplier, dls.reference, dls.mawb, dls.shipment, dls.kg 
FROM driving_lists dl LEFT JOIN 
driving_list_shipments dls 
ON dl.list_id = dls.list_id 
WHERE dl.deleted=0 AND dls.kg > 0 AND dl.date between 'FORMAT(July 01, 2017,'yyyy-MM-DD')' and 'FORMAT(July 30, 2017,'yyyy-MM-DD')' 
ORDER BY dl.list_id 

So ist das Problem mit diesem:

dl.date between 'FORMAT(July 01, 2017,'yyyy-MM-DD')' and 'FORMAT(July 30, 2017,'yyyy-MM-DD')' 

Wie kann ich zwischen zwei Daten auswählen, indem sie in das Format umzuwandeln, dass die Datenbank verwendet?

+0

try this => UNIX_TIMESTAMP (Datum) .. in mysql – Kunal

Antwort

0

mit Datum Versuchen() php function
Gefällt Ihnen dieses

$date1='July 30, 2017'; 
$date1=date('Y-m-d',strtotime($date1)); 
$date2='July 1, 2017'; 
$date2=date('Y-m-d',strtotime($date2)); 

Wenn Sie $date1 und $date2 drucken wird es aussehen wie

"2017-07-30" 

"2017-07-01" 
0

Sie sollten str_to_date() verwenden, wenn Sie die Transformation in der Datenbank zu tun:

WHERE dl.deleted = 0 AND dls.kg > 0 AND 
     dl.date between str_to_date('July 01, 2017', '%M %d, %Y') and 
         str_to_date('July 30, 2017', '%M %d, %Y') 

Hinweis: dl.date sollte als ein Datum in der Datenbank gespeichert werden.

Verwandte Themen