php删除三天前数据,php删除记录
php 按天删除数据 如何做,比如只保存前3天的数据
如果你准备按天删除数据的话,在保存数据的时候最好是增加一个日期字段addDate,而这个日期字段的默认值就是CURRENT_DATE(mysql中,CURRENT_DATE获得的是
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站建设、长寿网络推广、成都微信小程序、长寿网络营销、长寿企业策划、长寿品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供长寿建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
20100728
这样的日期值),如果这个字段没用,大不了不用就行了。
那么在删除的时候就好办了,用
delete
from
tbName
where
CURRENT_DATE-addDate
=
3;
就可以了,我刚刚在mysql中测试通过。
php中删除数据库中在当前时间一天以前的数据怎么实现啊?
两种方案:
一种是正统方案,把SQL语句提交给运维人员,他们会处理,一般是用crond解决。
另外,有一种很邪行的办法,不推荐,但无可奈何的时候可以用一下。
如果有某个文件,比如comm.php是被所有文件引用的,在它里面加一段:
if (mt_rand(1, 1000) == 1) {
//run your sql
}
其目的就是按照千分之一的概率去执行删除数据的动作。
一方面确实可以删除数据,另一方面也避免了每次执行PHP页面都占用数据库资源。
可以适当监控一下,调整成合适的执行概率。
或者,把这一小段代码放到index.php里面也可以。
PHP删除数据库记录
1、首先在视图页面找到要删除的id:
?php
$link=mysql_connect("localhost","root","管理员密码");
mysql_select_db("infosystem", $link);
$q = "SELECT * FROM info";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
echo "table";
echo "trtd部门名称/tdtd员工姓名/tdtdPC名称/td/tr";
while($row = mysql_fetch_object($rs)) echo "trtda href='dodel.php?id=$row-id'del/a/tdtd$row-depart/tdtd$row-ename/td/tr";
echo "/table";
?
2、写一个delete.php页面,代码如下:
?php
$link =mysql_connect("localhost","root","管理员密码");
mysql_select_db("infosystem", $link);
$del_id=$_GET["id"];
$exec="delete from info where id=$del_id";
mysql_query($exec, $link);
echo "删除成功!";
mysql_close($link);
?
说明:用于MySQL数据删除的SQL语句为:
delete from 表名 where 条件=值
这里的值通过$del_id=$_GET["id"]来接收,并传递给SQL语句,最后通过mysql_query来执行这句SQL语句删除的。
PHP每小时读取1个小时前的日志写入数据库中删除数据库中两天前的日志就是数据库里只保留最近两天的日志
如果你是两天前的日志文件完全不想要了可以每隔一小时生成一个日志文件,并把两天前的日志文件删除掉。用filectime函数可以判断文件时间。如果你想隔一个小时生成一个文件,可以给日志起一个通用的名字,例如:errorlog_当天的日期.log,然后每次写日志时判断这个文件的时间是不是1小时前的,是1小时前的就把这个文件改个名,不是就继续写入。
然后用file函数获取到你想要的时间的日志文件的内容做你需要的处理。
如果两天前的日志文件还想要,那么你就要先用file函数取得日志文件的内容,通过日志内容的里的时间和现在时间的比对取得你要的数据并处理。
把你对日志文件的处理些到php文件里。
如果是linux服务器,建议使用 crontab定时执行这个写好的PHP文件
如果是windows服务器,建议使用内置的 计划任务功能定时执行这个写好的PHP文件
网页名称:php删除三天前数据,php删除记录
浏览路径:http://scyanting.com/article/hdidjg.html