我在 MYSQL 数据库中有一个表,其中db_date列的类型为 datetime ex: 2016-10-20 01:05:00
我使用 PHP 代码搜索不同的东西,日期就是其中之一,因为我使用日期选择器的日期是这样的 10/21/2016 米/ d / Y
为此,我使用它将此表单转换为数据库中的表单
STR_TO_DATE('".$date."','%m/%d/%Y')
问题在于,当我使用db_date= STR_TO_DATE('".$date."','%m/%d/%Y')
时,它只提供有小时和分钟的日期,第二个 00:00:00
但我想要所有日期前:如果我选择 10/20/2016 我希望选择数据库中不同时间的所有日期
我试图在mysql中使用date
函数,但我没有结果
的日期(STR_TO_DATE(&#39;&#34; $日期&#34;&#39;&#39;%米/%d /%Y&#39;)) < / p>
我还尝试使用 DATE_FORMAT(STR_TO_DATE(&#39;&#34;。$ date。&#34;&#39;,&#39;%m /%d /%Y& #39)) 我没有结果
查询将与此$query=SELECT * FROM tbl_staff {$sql}
这是代码
$q = array();
$sql = "";
if(isset($_POST['txt_date']) && !empty($_POST['txt_date'])){
$date = mysqli_real_escape_string($conn,$_POST['txt_date']);
$q[] = " db_date=STR_TO_DATE('".$date."','%m/%d/%Y') and db_status!='Done' AND db_status!='Cancelled'";
}
我该如何解决这个问题?!
答案 0 :(得分:0)
首先,您可以使用datapicker中的格式来自定义日期:
$('#date').datepicker({format: 'yyyy-mm-dd'});
对于你的sql查询do(对db_date使用date())
$q[] = " DATE(db_date)= $date and db_status!='Done' AND db_status!='Cancelled'";