php - tabla - Eliminar registros después de 15 minutos
guardar eliminar actualizar y buscar con html y php (2)
Si tiene un campo de marca de tiempo, puede hacer una sola consulta y no tener que iterar sobre el conjunto de resultados de su selección:
DELETE FROM inactive
WHERE timestamp < DATE_SUB(NOW(), INTERVAL 15 MINUTE)
Puede ejecutar esa consulta en un cron o en su página.
Tengo un sistema inactivo. Se supone que debe eliminar usuarios de la tabla inactiva después de 15 minutos. También tengo un código que registra al usuario si no se puede encontrar en esa tabla. El script inactivo actualiza al usuario en cada actualización de página.
Este es el código inactivo que probé y hasta ahora no funciona:
$result = mysqli_query($con,"SELECT * FROM inactive");
while($row = mysqli_fetch_array($result))
if ($row[''inactive''] > timestampadd(MINUTE, -15, now()))
{
}else {
$db_query = "DELETE FROM inactive WHERE username=''$username''";
$result = mysql_query($db_query);
}
CREATE EVENT IF NOT EXISTS `remove_inactives`
ON SCHEDULE EVERY 15 MINUTE
ON COMPLETION PRESERVE
ENABLE
DO
DELETE FROM `inactive`
WHERE `timestamp` < DATE_SUB(NOW(), INTERVAL 15 MINUTE)
;
^ Utilice un conjunto y olvide el evento recurrente de MySQL . Deje que el servidor haga el trabajo por usted :)
Para PHP:
mysqli_query($connection, // or mysql_query(
<<<SQL
CREATE EVENT IF NOT EXISTS `remove_inactives`
ON SCHEDULE EVERY 15 MINUTE
ON COMPLETION PRESERVE
ENABLE
DO
DELETE FROM `inactive`
WHERE `timestamp` < DATE_SUB(NOW(), INTERVAL 15 MINUTE)
;
SQL;
); // ends *_query() call
¡Solo necesita CORRER ESTA VEZ para instalar en el servidor!