如何在PHP中获得'Column+7天'>=NOW的位置

如何在PHP中获得'Column+7天'>=NOW的位置,php,sql,Php,Sql,我有个问题。也许这个问题很愚蠢,但我一直在到处寻找,没有得到我想要的。 如果我得到答案,我会立即删除我的帖子 我有一张这样的桌子: ID | Title | Date ----------------------------- 1 | AAA | 2019-03-25 2 | BBB | 2019-03-21 3 | CCC | 2019-03-23 ID | Title | Date ---------

我有个问题。也许这个问题很愚蠢,但我一直在到处寻找,没有得到我想要的。 如果我得到答案,我会立即删除我的帖子

我有一张这样的桌子:

 ID |     Title  |   Date 
-----------------------------
  1 |     AAA    | 2019-03-25
  2 |     BBB    | 2019-03-21
  3 |     CCC    | 2019-03-23
 ID |     Title  |   Date 
-----------------------------
  2 |     BBB    | 2019-03-21
$date = time();
$date_exp = date('Y-m-d H:i:s', strtotime('+7 day', $date));
我试过这个:

function get_all() {
    $plusdays = strtotime('+7 day');
    $now = date('Y-m-d H:i:s');
    $this->datatables->select('*');
    $this->datatables->from('atable');
    $this->datatables->where('crt_date + INTERVAL 7 day >=', $now);
    return $this->datatables->generate();
}
我如何像这样显示表格:

 ID |     Title  |   Date 
-----------------------------
  1 |     AAA    | 2019-03-25
  2 |     BBB    | 2019-03-21
  3 |     CCC    | 2019-03-23
 ID |     Title  |   Date 
-----------------------------
  2 |     BBB    | 2019-03-21
$date = time();
$date_exp = date('Y-m-d H:i:s', strtotime('+7 day', $date));
因此,我想显示在某个日期创建的数据,如果数据创建后超过7天,则数据将过期。还是有其他想法? 我必须添加过期日期列吗?
谢谢

这里有一个SQL查询应该可以运行,不,它不一定是最优雅的查询:

SELECT *
FROM atable
WHERE (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(date)) >= (60 * 60 * 24 * 7);

我认为您可以将其适当地转换为PHP代码。基本上,我得到的是现在和存储日期之间以秒为单位的差值,然后看看差值是否大于或等于七天。

我决定再添加一列is exp\u date,以便将来更容易使用。 代码如下:

 ID |     Title  |   Date 
-----------------------------
  1 |     AAA    | 2019-03-25
  2 |     BBB    | 2019-03-21
  3 |     CCC    | 2019-03-23
 ID |     Title  |   Date 
-----------------------------
  2 |     BBB    | 2019-03-21
$date = time();
$date_exp = date('Y-m-d H:i:s', strtotime('+7 day', $date));
谢谢大家

提示不要在性能问题所在的列中使用函数或求值

在这种情况下,您必须将$now减去7天,然后

$this->datatables->where('crt_date >=', $theDateBefore7Day);

收到答案后,不要立即删除您的问题。StackOverflow不是这样工作的。删除你的问题会剥夺一个拥有相似或相同问题的人!当你将来得到答案时,你会问这个问题。你使用的是什么数据库?mysql?神谕sql server?好的,我不会立即删除此帖子@IsaiahI使用数据库mysql@catcon为什么不现在计算-7天作为一个常量表达式,并使用它,而不是潜在地将7天添加到数百万个日期中?日期+7>=现在等于日期>=现在-7好的,我以后会试试。非常感谢。