2017-01-03 188 views
2

我试图从两个日期获取数据,但它不工作。 我的数据库表格很简单,这种格式11/30/2016。 现在我想取数据表格11/30/2016到01/03/2017,但它没有显示。从不同的年份在PHP中获取数据(即从2016年11月1日到2017年1月01日)

这里我的代码

$date_from='11/30/2016'; 
$date_to='01/03/2017'; 
$querymain="select * from table_name where created BETWEEN '$date_from' AND '$date_to'"; 
+0

是列日期/日期时间或varchar的数据类型?同时说'尽快'没有得到更快的回应。 – chris85

+0

粘贴您的表格结构的屏幕截图 –

+0

试试这个:'select * from table_name where DATE(created)BETWEEN'$ date_from'AND'$ date_to'' – Thamilan

回答

1

如果您created栏是日期,那么你必须检查日期格式2016-01- 02即mysql的YYYY-mm-dd格式。

只要试试这个。

$querymain="select * from table_name where created BETWEEN '".date("Y-m-d",strtotime($date_from))."' AND '".date("Y-m-d",strtotime($date_to))."'"; 
+0

嗨,谢谢你的回复。 但在我的数据库中我的“创建”行在这种格式。 2016/11/01 “m-d-Y” –

+0

什么是创建列的数据类型? varchar或日期? –

+0

我使用“varchar” –

0

转换你的日期格式这样

$date_from='2016-11-30'; 
$date_to='2017-01-03'; 
//using php you can convert your date like 
$date_from = date("Y-m-d",strtotime("11/30/2016")); 
$date_to=date("Y-m-d",strtotime("01/03/2017")); 
$querymain="select * from table_name where DATE(`created`) BETWEEN '$date_from' AND '$date_to'"; 

try this i hope this is working for you. 

感谢

+0

嗨,谢谢你的回复。 但在我的数据库中我的“创建”行在这种格式。 11/01/2016 “m-d-Y” –

相关问题