Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL介于今天和以后的日期之间_Php_Sql - Fatal编程技术网

Php SQL介于今天和以后的日期之间

Php SQL介于今天和以后的日期之间,php,sql,Php,Sql,我正在查询我正在处理的项目。 我必须做一个查询,显示从今天开始的日期和仍然会到来的日期。目前我的问题是: $query = "SELECT * FROM systeem RIGHT JOIN vestiging ON vestiging.id = systeem.vestigingID LEFT JOIN systeemMeldkamer ON systeemMeldkamer.systeemID = systeem.id LEFT JOIN meldkamers ON meldkamer

我正在查询我正在处理的项目。 我必须做一个查询,显示从今天开始的日期和仍然会到来的日期。目前我的问题是:

$query = "SELECT * FROM systeem 
RIGHT JOIN vestiging ON vestiging.id = systeem.vestigingID 
LEFT JOIN systeemMeldkamer ON systeemMeldkamer.systeemID = systeem.id 
LEFT JOIN meldkamers ON meldkamers.id = systeemMeldkamer.meldkamerID 
LEFT JOIN systeemContract ON systeemContract.systeemID = systeem.id 
LEFT JOIN onderhoudsLog ON onderhoudsLog.systeemContractID = systeemContract.id  
LEFT JOIN contracten ON contracten.ident = systeemContract.contractIDENT
WHERE onderhoudsLog.onderhoudsDatum  LIKE '2017%'  
ORDER BY onderhoudsLog.onderhoudsDatum ASC";
此查询将提供所有看起来像“2017%”的日期。 相反,我想得到今天的日期以及今天之后的每个日期:

今天是:2018-03-05

我想得到的结果是:2018-03-052018-03-062018-03-07

明天是:2018-03-06,然后它必须搜索2018-03-06之后的所有日期


我希望任何人都能帮助我的查询!不要介意“左连接”,这是因为我必须检查6个表,以便我可以将维护日期与我们的客户的编号匹配。

对于MySQL,您可以使用下面的查询。添加where子句,如:
where onderhoudsLog.onderhoudsDatum>=CURDATE()

假设
onderhoudsDatum
字段是日期时间数据类型

$query = "SELECT * FROM systeem 
RIGHT JOIN vestiging ON vestiging.id = systeem.vestigingID 
LEFT JOIN systeemMeldkamer ON systeemMeldkamer.systeemID = systeem.id 
LEFT JOIN meldkamers ON meldkamers.id = systeemMeldkamer.meldkamerID 
LEFT JOIN systeemContract ON systeemContract.systeemID = systeem.id 
LEFT JOIN onderhoudsLog ON onderhoudsLog.systeemContractID = systeemContract.id  
LEFT JOIN contracten ON contracten.ident = systeemContract.contractIDENT
WHERE onderhoudsLog.onderhoudsDatum >= CURDATE()  
ORDER BY onderhoudsLog.onderhoudsDatum ASC";

对于MySQL,您可以使用下面的查询。添加where子句,如:
where onderhoudsLog.onderhoudsDatum>=CURDATE()

假设
onderhoudsDatum
字段是日期时间数据类型

$query = "SELECT * FROM systeem 
RIGHT JOIN vestiging ON vestiging.id = systeem.vestigingID 
LEFT JOIN systeemMeldkamer ON systeemMeldkamer.systeemID = systeem.id 
LEFT JOIN meldkamers ON meldkamers.id = systeemMeldkamer.meldkamerID 
LEFT JOIN systeemContract ON systeemContract.systeemID = systeem.id 
LEFT JOIN onderhoudsLog ON onderhoudsLog.systeemContractID = systeemContract.id  
LEFT JOIN contracten ON contracten.ident = systeemContract.contractIDENT
WHERE onderhoudsLog.onderhoudsDatum >= CURDATE()  
ORDER BY onderhoudsLog.onderhoudsDatum ASC";

你可以试试这个代码

$today = date('Y-m-d');

$query = "SELECT * FROM systeem 
  RIGHT JOIN vestiging ON vestiging.id = systeem.vestigingID 
  LEFT JOIN systeemMeldkamer ON systeemMeldkamer.systeemID = systeem.id 
  LEFT JOIN meldkamers ON meldkamers.id = systeemMeldkamer.meldkamerID 
  LEFT JOIN systeemContract ON systeemContract.systeemID = systeem.id 
  LEFT JOIN onderhoudsLog ON onderhoudsLog.systeemContractID = systeemContract.id  
  LEFT JOIN contracten ON contracten.ident = systeemContract.contractIDENT
  WHERE onderhoudsLog.onderhoudsDatum  => $today  
  ORDER BY onderhoudsLog.onderhoudsDatum ASC";
使用PHP的
date()
函数获取日期,将其格式化为MySql日期字符串,然后在查询中使用该字符串:

WHERE onderhoudsLog.onderhoudsDatum  => $today

你可以试试这个代码

$today = date('Y-m-d');

$query = "SELECT * FROM systeem 
  RIGHT JOIN vestiging ON vestiging.id = systeem.vestigingID 
  LEFT JOIN systeemMeldkamer ON systeemMeldkamer.systeemID = systeem.id 
  LEFT JOIN meldkamers ON meldkamers.id = systeemMeldkamer.meldkamerID 
  LEFT JOIN systeemContract ON systeemContract.systeemID = systeem.id 
  LEFT JOIN onderhoudsLog ON onderhoudsLog.systeemContractID = systeemContract.id  
  LEFT JOIN contracten ON contracten.ident = systeemContract.contractIDENT
  WHERE onderhoudsLog.onderhoudsDatum  => $today  
  ORDER BY onderhoudsLog.onderhoudsDatum ASC";
使用PHP的
date()
函数获取日期,将其格式化为MySql日期字符串,然后在查询中使用该字符串:

WHERE onderhoudsLog.onderhoudsDatum  => $today

是onderhoudsLog.onderhoudsDatum日期字段,然后使用'>=当前日期'代替'like“2017%”并按onderhoudsLog进行订购。onderhoudsDatum

是onderhoudsLog.onderhoudsDatum日期字段,然后使用'>=当前日期'代替'like“2017%”并按onderhoudsLog.onderhoudsDatum进行订购。

使用
其中onderhoudsLog.onderhoudsDatum>=现在()
如果你在MySQL上,你在使用哪个DBMS?MySQL,SQL server?onderhoudsDatum-是日期字段吗?请看这个@Mittal我正在使用“phpmyadmin”SQL,onderhoudsDatum确实是日期字段Use
其中onderhoudsLog.onderhoudsDatum>=NOW()
如果您在MySQL上,您使用的是哪种DBMS?MySQL、SQL server?onderhoudsDatum-是日期字段吗?请参阅@Mittal我正在使用“phpmyadmin”SQL,onderhoudsDatum确实是日期字段