我是 MySQL 和 PHP/Cron Jobs 的菜鸟,所以如果你们都可以很容易地解释它,比如在哪里放置事件等,那很好,无论如何,关于这个问题。
问题:我有一个名为 my_Table 的表,它有一个包含 3 个字段的条目:名称、年龄、时间戳。例如,一排有这个。山姆 | 20 | 不管是什么时候。现在,当该行达到 30 分钟时,我希望将其删除,与任何其他达到 30 分钟的行一样,谢谢大家的帮助,我已经阅读了其他答案,但就像我说的我还是个初学者并且不太明白人们在回答什么。谢谢您的帮助
如果我可以使用 Cron 作业或 MySQL 事件(我不知道如何设置事件)来做到这一点,那么任何人都可以提供帮助!:D
我的 30 分钟后删除代码(删除所有行,即使它们不是 30 分钟前)
<?php
include_once('../config.php');
$con = mysql_connect(DB_HOST, DB_USER, DB_PASS);
mysql_select_db(DB_NAME);
$runpurge = mysql_query ("DELETE FROM my_table WHERE timestamp < NOW() - INTERVAL 30 MINUTE");
?>
主显示代码:
$result = mysql_query ("SELECT * FROM cw_LFG ORDER BY `time` DESC ") or die(mysql_error);
while ($row=mysql_fetch_array($result)) {
echo "<tbody>";
echo "<tr><td>";
echo strip_tags($row['cname']);
echo "</td><td>";
echo $row['level'];
echo "</td><td>";
echo strip_tags($row['region']);
echo "</td><td width='100px'>";
echo timeElapsed(strtotime($row['time']));
echo "</td><td style='word-wrap: break-word'>";
echo strip_tags($row['comment']);
echo "</td></tr>";
echo "</tbody>";
}
echo "</table>";
$curtime = date('Y-m-d H:i:s');
$curtimestr = strtotime($curtime);
function timeElapsed($time) {
$elapsedTime = time() - $time;
if ($elapsedTime < 1) {
return 'Right now';
}
if ($elapsedTime < 60){
return '< 1 Minute ago';
}