Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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
MYSQL查询-在PHP中按日期排序_Php_Mysql_Sql - Fatal编程技术网

MYSQL查询-在PHP中按日期排序

MYSQL查询-在PHP中按日期排序,php,mysql,sql,Php,Mysql,Sql,我正在尝试设置一个查询,该查询将搜索MYSQL数据库,并且只从数据库中提取过期日期在今天日期之后的行 我还希望能够计算出从今天到数据库中与上述查询匹配的行的到期日期还有多少天或几周 我认为为了得到当前的日期,我必须设置一个变量$date=time;稍后我将能够使用它与数据库中的expiration_date列进行比较。然而,我现在很困惑,该怎么做才能达到要求的结果。我不是一个真正的PHP高手,但我也不是一个专家,所以请对我宽容一点 提前谢谢 如果要检查的列是DATETIME,请重试 $sql="

我正在尝试设置一个查询,该查询将搜索MYSQL数据库,并且只从数据库中提取过期日期在今天日期之后的行

我还希望能够计算出从今天到数据库中与上述查询匹配的行的到期日期还有多少天或几周

我认为为了得到当前的日期,我必须设置一个变量$date=time;稍后我将能够使用它与数据库中的expiration_date列进行比较。然而,我现在很困惑,该怎么做才能达到要求的结果。我不是一个真正的PHP高手,但我也不是一个专家,所以请对我宽容一点


提前谢谢

如果要检查的列是DATETIME,请重试

$sql="SELECT column FROM table WHERE expiry_date > CURDATE()";
如果保存了UNIX时间戳,只需使用

$sql="SELECT column FROM table WHERE expiry_date > '".time()."'";
如果您将第一个与“现在”或第二个一起使用,您将理所当然地获得当天的结果。 如果这是不可接受的,请尝试mktime0,0,0而不是time

使用此查询

$query = "select timestampdiff(days,'$exipry_date','$now')";

这可以也应该在查询中完成,即到期日>现在和日期不同的到期日,现在这90%都为您完成了,您将通过计算列和帮助(即TIMESTAMPDIFFWEEK,NOW,到期日为weeks)获得剩余的周数或天数。