1

我尝试在 1 周内删除我的 DDB 中的一行。

我写:

<?php
//in my page
//On click
$today=date("Ymd");
$query = 'INSERT INTO mytable VALUES (id,val,date),("", "'.$val.'", "'.$today'")';
dbb_exe($query);
?>

<?php
//in my header
//Check my table
$today=date("Ymd");

$query = 'SELECT date FROM mytable WHERE id=.'(int)$_GET['id'];
$r_date = dbb_exe($query);

//Here it's where i want delete my row if the row exists since 1 week

if($r_date==($today - "1week")){
//DELETE row
$query = 'DELETE FROM mytable WHERE id=.'(int)$_GET['id];
dbb_exe($query);
}


?>

如您所见,我不知道如何计算 var "1week",

现在我正在阅读 strtotime 来尝试类似 $date= strtotime($today); 但是我迷路了,无论如何我一整天(+晚上)都可以成功

红牛和stackoverflow是我的朋友。

感谢社区

祝你今天过得愉快

梅尔

4

4 回答 4

6

我相信您可以尝试以下方法,而不是使用 php 完成所有工作:

DELETE FROM mytable WHERE date = DATE_SUB(CURDATE(), INTERVAL 7 DAY)

这应该删除mytabledate1 周前相同的所有记录。

如果要删除所有超过 1 周的记录,请替换=为。<

于 2012-09-20T14:45:44.820 回答
0

更改if($r_date==($today - "1week")){if($r_date ==(date('Ymd', strtotime(date('Ymd') . " -7days"))) {

于 2012-09-20T14:37:10.747 回答
0

使用: if($today - $r_date >= 7)

于 2012-09-20T14:38:52.360 回答
0

如果您将 DATES 存储在mysqlasDATE数据类型中,请执行以下操作:

DELETE FROM table WHERE date_column = DATE_ADD(CURRENT_DATE(), INTERVAL 7 DAY) 

您没有提供太多详细信息,因此在上面的答案中,我假设它date已经存储,当前日期将由 自动获取MySQL,但是,您希望将 7 天添加到任何特定日期,然后CURRENT_DATE()以如下格式更改为所需日期2012-09-20

于 2012-09-20T14:48:20.610 回答