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" の計算方法がわかりません。

今は $date= strtotime($today); のようなものを試すために strtotime を読んでいます。しかし、私は迷っています、とにかく私は成功するために一日中(+夜)持っています

Red Bull と stackoverflow は私の友達です。

コミュニティのおかげで

良い1日を

メル

4

4 に答える 4

6

すべての作業を php で行う代わりに、次のようなことを試すことができると思います。

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

mytableこれにより、1週間前にdate等しいすべてのレコードが削除されます。

1 週間以上前のすべてのレコードを削除する場合は、に=置き換えます。<

于 2012-09-20T14:45:44.820 に答える
0

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

于 2012-09-20T14:38:52.360 に答える
0

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

于 2012-09-20T14:37:10.747 に答える
0

mysqlasDATEデータ型で DATES を格納する場合は、次の手順を実行します。

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 に答える