Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    188

    eliminare un record dopo 15 minuti

    ho un "piccolo" problema... anzi... non ho proprio idea di come cavolo fare :-)

    io ho una tabella nel mysql con un campo che si chiama valida, il tipo del campo è timestamp (quindi mi esce così: 2006-07-04 20:50:21) ora... io devo fare in modo che... passati 15 minuti da quella data li il record si cancella. esempio:

    la data è 2006-07-04 :00:00:00 bene, io alle 00:16:00 del 2006-07-04 devo segare via il record, come posso fare?


    ringrazio veramente tanto chi mi aiuta.

  2. #2
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    Innanzitutto hai bisogno di uno script php che venga eseguito da qualcuno (da te o da qualche utente) che prenda la data dal db, faccia un confronto con il tempo limite e se è il caso cancelli quel record.

    Così però il record non è detto che venga effettivamente cancellato a quell'ora, dipende da quando viene eseguito lo script in php. Sei però sicuro che quando si passa per quello script il record se è il caso verrà cancellato.

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    se ti esce così: 2006-07-04 20:50:21 ...il campo è un DATETIME
    e nel qualcaso puoi eliminare il record così:

    codice:
    DELETE FROM tabella
    WHERE  id_record = '".$id_record."'
    AND UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(data_orario) > 900
    naturalmente lo script che lo contiene dovrà essere attivato in qualche modo, come indicato anche da garlick

    per la gestione del tempo con MySQL ti consiglio di dare un'occhiata alle 2 ottime pillole di piero.mac

    http://forum.html.it/forum/showthrea...hreadid=459634
    http://forum.html.it/forum/showthrea...hreadid=839754

    Errare humanum est, perseverare ovest

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    188
    io l'ho messo così:

    Codice PHP:
    mysql_query("DELETE FROM utenti WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(valida) > 900") or die (mysql_error()); 
    ma non mi elimina nulla... come mai?

  5. #5
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    hai verificato se il campo è un DATETIME?

    hai aspettato 900 secondi (15min) ?

    oppure porta il valore a 1 o 2 secondi così puoi verificare senza aspettare
    Errare humanum est, perseverare ovest

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.