
正文
php删除3天前的数据 php实现删除功能
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php中删除数据库中在当前时间一天以前的数据怎么实现啊?
两种方案php删除3天前的数据:
一种是正统方案php删除3天前的数据,把SQL语句提交给运维人员php删除3天前的数据,php删除3天前的数据他们会处理,一般是用crond解决。
另外,有一种很邪行的办法,不推荐,但无可奈何的时候可以用一下。
如果有某个文件,比如comm.php是被所有文件引用的,在它里面加一段:
if (mt_rand(1, 1000) == 1) {
//run your sql
}
其目的就是按照千分之一的概率去执行删除数据的动作。
一方面确实可以删除数据,另一方面也避免php删除3天前的数据了每次执行PHP页面都占用数据库资源。
可以适当监控一下,调整成合适的执行概率。
或者,把这一小段代码放到index.php里面也可以。
相关问答
Q1: PHP每小时读取1个小时前的日志写入数据库中删除数据库中两天前的日志就是数据库里只保留最近两天的日志
如果你是两天前的日志文件完全不想要了可以每隔一小时生成一个日志文件,并把两天前的日志文件删除掉。用filectime函数可以判断文件时间。如果你想隔一个小时生成一个文件,可以给日志起一个通用的名字,例如:errorlog_当天的日期.log,然后每次写日志时判断这个文件的时间是不是1小时前的,是1小时前的就把这个文件改个名,不是就继续写入。
然后用file函数获取到你想要的时间的日志文件的内容做你需要的处理。
如果两天前的日志文件还想要,那么你就要先用file函数取得日志文件的内容,通过日志内容的里的时间和现在时间的比对取得你要的数据并处理。
把你对日志文件的处理些到php文件里。
如果是linux服务器,建议使用 crontab定时执行这个写好的PHP文件
如果是windows服务器,建议使用内置的 计划任务功能定时执行这个写好的PHP文件
Q2: php 按天删除数据 如何做,比如只保存前3天的数据
如果php删除3天前的数据你准备按天删除数据php删除3天前的数据的话php删除3天前的数据,在保存数据的时候最好是增加一个日期字段addDate,而这个日期字段的默认值就是CURRENT_DATE(mysql中,CURRENT_DATE获得的是
20100728
这样的日期值),如果这个字段没用,大不了不用就行了。
那么在删除的时候就好办了,用
delete
from
tbName
where
CURRENT_DATE-addDate
=
3;
就可以了,我刚刚在mysql中测试通过。
关于php删除3天前的数据和php实现删除功能的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







