在mysql contact_details表中,我有一列称为created_date。当我向该表中插入任何新联系人时,我会将日期和时间插入到created_date列中。日期和时间是这样的:
6/19/2013 18:25
6/19/2013 18:25
10/10/2014 17:25
好吧,我有一个Search表单,其中存在2个字段。
1)日期从。
2)日期至。
这2个字段仅是提货日期(m / d / y),而不是TIME。现在,我想根据这2个日期搜索数据。它可以只搜索起始日期或终止日期或两者。
1)日期从将被搜索日期从到今天date。
2)将搜索“日期至”,直到“日期至”为止的所有数据。
3)如果两个日期都存在,则应在两个日期之间返回数据
因此,我正在做的事情是:但是它向我显示了错误的结果。我该如何解决 ?
if(!empty($ad_datefrom)){
$getSearch .= "AND cd.created_date BETWEEN '$ad_datefrom' AND '$date' ";
}
if(!empty($ad_dateto)){
$getSearch .= "AND cd.created_date BETWEEN'$ad_dateto' AND '$date' ";
}
if(!empty($ad_datefrom) && !empty($ad_dateto)){
$getSearch .= "AND cd.created_date BETWEEN '$ad_datefrom' AND '$ad_dateto' ";
}
笔记 :
cd = contact_details Table.
created_date = created_date Column of contact_details Table.
$ad_datefrom = Date From field.
$ad_dateto = Date To Field.
$date = current date (m/d/y)
谢谢你 :)
$ ad_datefrom和$ ad_dateto为字符串格式,因此不能与between子句一起使用。使用php date转换它们,如下所示:
$getSearch .= "AND cd.created_date BETWEEN '" . date("Y-m-d H:i:s", strtotime($ad_datefrom)) . "' AND '".date("Y-m-d H:i:s",strtotime($date))."' ";
$getSearch .= "AND cd.created_date BETWEEN '" . date("Y-m-d H:i:s", strtotime($ad_dateto))."' AND '".date("Y-m-d H:i:s",strtotime($date))."' ";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句