php

2016-03-30 28 views
3
ben iki tarih arasındaki veri getirmek için çalışılıyor am

kullanarak iki tarih arasındaki MySQL veri almak, tarih mysql DATETIME olarak depolanır vephp

aşağıda gibi girdi formu ile ben önyükleme DateTimePicker kullanıyorum tarihleri ​​almak için 2016-04-02 04:55:03

olarak gösteriyordu

ve bu değerleri PHP'ye göndermek için AJAX kullanıyorum. Sonuç sayfasında

:

var_dump($_POST) 

sonucu:

array(3) { ["from_date"]=> string(10) "30/03/2016" ["to_date"]=> string(10) "05/04/2016" ["search_place"]=> array(1) { [0]=> string(0) "" } } 

i from_date değerleri alıyorum ve şimdi den arasında alınamadı çalışıyorum ve tarihleri ​​onun değilken to_date

aşağıda çalışan sql açıklamam

$sql="SELECT * FROM mytable WHERE evedate BETWEEN '" . $from_date . "' AND '" . $to_date . "'"; 
+0

Açtığınız asla sorgunuzdaki bir kapanış parantezi var çalışmaktadır tarih DATE_FORMAT dönüştürebilirsiniz? Aldığınız hata mesajı nedir? – Jester

+0

DATETIME biçemleri 2016-04-02 ancak 30/03/2016 – channasmcs

+0

olarak veri alıyorum evet 30/03/2016 –

cevap

0

Sen

$sql="SELECT * FROM mytable WHERE DATE_FORMAT(evedate, '%m/%d/%Y') BETWEEN '" . $from_date . "' AND '" . $to_date . "'"; 
2
$sql="SELECT * FROM mytable WHERE evedate BETWEEN concat(str_to_date('".$from_date."','%d/%m/%Y')) AND concat(str_to_date('".$to_date."','%d/%m/%Y') 

+0

Bu daha doğru bir kod –

+0

gibi görünmüyor mu? lütfen, –

+0

@AseshaGeorge'ı paylaşın, 'evedate' datetime formatındaysa, $ from_date'i '00: 00: 00' ve' $ to_date' ile '23: 59: 59' arasında eşleştirmelisiniz, aksi halde sorgu bazılarını kesecek to_date tarihleri. Yukarıdaki yorumumu gör, öneri olarak aldın. – mitkosoft