problema funzione date

Bruce5000

Utente Attivo
14 Ott 2007
106
0
0
Ciao, devo fare uno script php in modo che a un'ora stabilita elimini alcuni record
nel database mysql.
Ho fatto così ma non elimina i record:
PHP:
$query = mysql_query("select * from links") or die (mysql_error());		

if(date("G:i", time()) == "5:50")
{
while($sql = mysql_fetch_object($query))
{
mysql_query("delete from links where link_id = $sql->link_id") or die (mysql_error());
}
}
Naturalmente prima di questo codice c'è la connessione al database.
Mi potreste aiutare? Grazie
 
Ti ricordo che gli script PHP vengono eseguiti solamente quando qualcuno accede alla pagina. Quindi il tuo script non funzionerà mai a meno che tu non acceda alle 5:50, nel qual caso sarebbe inutile il controllo sulla data.

Ci sono due possibili soluzioni:
  1. Modifichi lo script in modo che salvi in un file il timestamp dell'ultima esecuzione. Quando un utente accede alla pagina, se dal timestamp sono passate 24 ore cancelli nuovamente i record.
  2. Imposti un cronjob o un'operazione pianificata in modo che esegua lo script tutti i giorni alle 5:50.

La seconda è fattibile solo se hai accesso ai file di configurazione del server o, in ogni caso, puoi definire dei cronjob.

E poi, tutto il ciclo che esegui è inutile. Se vuoi cancellare tutti i record dalla tabella links basta eseguire questa query:
Codice:
TRUNCATE TABLE links
 
come posso impostare un'operazione pianificata o cron job?
mi puoi fare qualche esempio?

in pratica vorrei che a una determinata ora scelta da me, venisse eseguita la delete
 
Ultima modifica:

Discussioni simili