PHP Mysql:在表中查找过期日期并扩展它们
嗨 - 我有一个php分类网站,我会运行一个命令,找到过期的广告并自动将日期增加XX天数。
这是结构
DATEBASE = "realestatedb"
table names are
"tt_44" to "tt_56"
字段名称ExpireDate
类型为日期
我已阅读.. PHP Select from MySQL where date field is 7 days in the future
但无法弄清楚
这会有效吗
SELECT *
FROM realestatedb
WHERE status IN('','ExpireDate')
AND expiry_date = DATE(NOW() + INTERVAL 7 DAY)
答案 0 :(得分:0)
添加到日期的MySQL函数是DATE_ADD。您使用DATE_ADD(fieldname,INTERVAL 7 DAY)向该字段添加7天。
您想要将过期日期添加到过期日期。到期时,我认为你的意思是他们在某个约会之前。因此,假设在2015-01-01之前已过期。然后,您将使用:
UPDATE tt_44 SET ExpireDate = DATE_ADD(ExpireDate, INTERVAL 7 DAY) where ExpireDate<'2015-01-01';
这会在表tt_44
中为2015-01-01之前的每个日期增加7天答案 1 :(得分:0)
我必须运行该命令几次以便更新所有这些命令你知道为什么会这样......
mysql> UPDATE tt_44 SET ExpireDate = DATE_ADD(ExpireDate, INTERVAL 365 DAY) where ExpireDate<'2015-01-01';
Query OK, 72 rows affected (0.01 sec)
Rows matched: 72 Changed: 72 Warnings: 0
mysql> UPDATE tt_44 SET ExpireDate = DATE_ADD(ExpireDate, INTERVAL 365 DAY) where ExpireDate<'2015-01-01';
Query OK, 15 rows affected (0.00 sec)
Rows matched: 15 Changed: 15 Warnings: 0
mysql> UPDATE tt_44 SET ExpireDate = DATE_ADD(ExpireDate, INTERVAL 365 DAY) where ExpireDate<'2015-01-01';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> UPDATE tt_44 SET ExpireDate = DATE_ADD(ExpireDate, INTERVAL 365 DAY) where ExpireDate<'2015-01-01';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> UPDATE tt_44 SET ExpireDate = DATE_ADD(ExpireDate, INTERVAL 365 DAY) where ExpireDate<'2015-01-01';
Query OK, 0 rows affected (0.01 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> UPDATE tt_44 SET ExpireDate = DATE_ADD(ExpireDate, INTERVAL 365 DAY) where ExpireDate<'2015-01-01';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0