Hej
Det är så att jag har skrivit ett script där folk kan anmäla sig för lunch.
Detta sparas i en mysql-databas och sammanställs sedan för personalen i restaurangen.
Nu är det så att jag vill att databasen skall tömmas under natten.
Detta för att gamla uppgifter inte ska ligga kvar.
Anmälan görs innan kl. 12 varje dag. Så databasen ska kunna tömmas kl. 15 eller nåt.
Hur löser man detta?
Nån if-sats med timestamp på den första personen som anmäler sig på morgonen kanske?
Tack på förhand.
mvh
//Anders
det borde väll bli något i stil med:
<?
$now=date("YmdHis");
$too_old = $now-20000;
// Inkludera connect
$sql = "DELETE FROM tabell WHERE ordertimestamp < '$too_old'";
$result = mysql_db_query("databas","$sql");
?>
Denna tar bort alla rader som där "ordertimestamp" är 2 timmar äldre än tiden då användaren öppnar sidan, det är bara att ändra efter ditt behov.
Det finns antagligen MYCKET bättre versioner... men detta var en enkel en.
<?php
$idag = date("Y-m-d");
$a1 = explode("-", $idag);
$stamp = mktime(0,0,0,$a1[1],$a1[2],$a1[0]); # 00:00:00 inatt
mysql_query("DELETE FROM databasen WHERE tiden < '$stamp'");
?>
Tack
Tack ska du ha "Niklasson"!
En pärla as always...
Men det kräver ju att någon går in på sidan så att koden exekveras. Ett annat sätt är att göra ett cron-job som gör det automatiskt vid en viss tidpunkt.
Jag håller på med en liknande grej och tyckte det här var en väldigt bra tråd. Men blir det inte så att rensningen utförs varje gång någon besöker sidan? Och blir inte det kanske onödigt hög belastning?
Jag tänkte man kunde ha den på sammanställningssidan, så att gamla beställningar raderas innan de nya listas...
Då blir det ingen onödig belastning.