php删除mysql 数据库里时间超过1小时的记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php删除mysql 数据库里时间超过1小时的记录相关的知识,希望对你有一定的参考价值。
include 'dll.php';
$xzsj=time();
$sql1="INSERT INTO `chuangshi`.`ggxx` (`id`,`name`,`neirong` ,`time`)VALUES (NULL,'as1992tt','我是一只小小鸟','$xzsj')";
mysql_query($sql1);//向数据库插入玩家要说的话
$sql="select * from ggxx";
$res=mysql_query($sql);
$row=mysql_fetch_assoc($res);
$id2=$row['id']-5;//这里是前面每次都检测到刚插入的数据,刚插入不会大于30秒,就不执行下面的,所以就让id-5,得出前面的id
echo $id2;//这里得出刚插入ID的前面第五条数据
if (($xzsj - $row['time'])>30) //大于24小时
$sql="delete from ggxx where id=$id2";//delete from table1 where endTime <now();
mysql_query($sql); //前面得出了刚插入记录ID的前面第五条记录ID,但它这里就是不执行,也就是没有删除记录
求知道的大大指点下,帮我改下代码
还有,如果能得出这个表里所有时间大于现在时间30秒的数据,再一次删除就最好了
谢谢了
delete from chuangshi.ggxx where `time`<date_sub(now(),interval 30 SECOND)
此外,你插入数据库的语句,时间值最好也使用now(),而不是PHP变量$xzsj=time(),因为如果配置问题,PHP和数据库的时间值可能有时区差异。 参考技术A 当前的时间减去30秒得出一个时间,然后在数据库中小于这个时间的全部删除就可以了,也就是说一条sql就搞定了,何必这样麻烦追问
像你说得那样做了,用了while循环取出了所有符合条件的,但我把符合条件的代入mysql命令中去却执行不了,你能不能说得详细些
追答楼下的这位大侠说的很对啊,用它那条sql执行一把,就可以了全部删除了,不用while把它全部取出来之后再删除。那样是没有意义的
本回答被提问者采纳带有php和mysql的数据表超过10000条记录的大量数据
【中文标题】带有php和mysql的数据表超过10000条记录的大量数据【英文标题】:datatables with php and mysql large amount of data over 10000 records 【发布时间】:2018-03-11 17:59:27 【问题描述】:我在管理面板脚本中使用了表条带化数据表,当尝试显示来自 mySQL 和 PHP 的大量数据时,加载页面需要花费大量时间。
以下是使用数据表的代码:
<script>
'use strict'; var Site = window.Site;
$(document).ready(function($) Site.run(); );
(function()
$(document).ready(function()
var defaults = $.components.getDefaults("dataTable");
var options = $.extend(true, , defaults,
"aoColumnDefs":
[ 'bSortable': false, 'aTargets': [-1] ],
"iDisplayLength": 10,
"aLengthMenu":
[
[5, 10, 25, 50, -1],
[5, 10, 25, 50, "All"]
],
"sDom": '<"dt-panelmenu clearfix"Tfr>t<"dt-panelfooter clearfix"ip>',
"oTableTools": "sSwfPath": "../assets/vendor/datatables-tabletools/swf/copy_csv_xls.swf"
);
$('#exampleTableTools').dataTable(options);
);
)();
</script>
如何更快地加载所有记录并在同一加载页面中。
【问题讨论】:
试过使用 Ajax 吗? 没有我用的php类和函数我觉得会一样吗? 不,不一样。阿贾克斯速度很快。谷歌 php 数据表 Ajax。你会得到很多答案 从 MySQL 加载所有记录总是很慢,您是否考虑过分页数据?还是将其限制为某些子集或记录? 不能一次加载所有 10,000 个,否则浏览器将死机,一次必须显示更少的结果,可能是分页,或延迟加载,或 ajax 在滚动时一次加载 100 个???等,限制查询 【参考方案1】:就像其他人说的那样。如果一次加载 1000 个条目,页面会很慢。 为此,您需要启用分页:
'bPaginate': true
您还应该启用具有大量数据的 bProcessing:
'bProcessing':true
使用服务器端处理以获得更快的速度,并带有外部 .php 文件:
'bServerSide':true
'sAjaxSource': 'your_external_get_data.php'
查看文档了解更多信息:http://legacy.datatables.net/usage/features
【讨论】:
【参考方案2】:如果您需要大量数据,则必须在 php.ini 中设置限制和分页。 获取所有数据后,将数据表设置为限制。 如果您有更大的数据,请在 php 中设置分页。
【讨论】:
它有自动分页,但仍然加载一次所有数据,所以页面很慢以上是关于php删除mysql 数据库里时间超过1小时的记录的主要内容,如果未能解决你的问题,请参考以下文章
带有php和mysql的数据表超过10000条记录的大量数据
如何使用 php 中的 cron 作业自动删除 mysql 行?