Non riesco a risolvere un problema, lo spiego:
In un database ho un campo che si chiama "selected" ed è di tipo "enum" che può valere 0 oppure 1, per defaul vale 0
Un secondo campo che si chiama "deseleziona" che è un "int(15)" nel quale scrivo l'ora presa dal sistema creando la variabile $ora = time();
La variabile la creo perchè poi mi serve per altro e la utilizzo anche per questa esigenza.
Fin qui nessun problema l'utente seleziona un oggetto, viene aggioranato il database, il campo "selected" viene settato a 1 e sul campo "deseleziona" viene scritta l'ora attraverso la variabile "$ora" prima creata.
Il problema nasce nel momento in cui devo aggiornare questi 2 campi:
L'esigenza è quella di rimettere a 0 tutti i record in cui il campo "selected" è uguale a 1 ed il campo "deseleziona" contiene un valore di tempo rispetto al quale l'ora attuale del sistema è superiore di 120 secondi o più,
se è inferiore o uguale non devo aggiornare nulla
Il tempo scritto nei vari campi "deseleziona" è sicuramente differente nei vari record perchè dipende dal momento in cui è stata effettuata la selezione e conseguentemente aggiornato il database.
Ho provato e riesco a settare tutto a 0 se superato il tempo stabilito di 120 secondi, quello che non riesco a fare è settare a zero i 2 campi solo nei record nei quali effettivamente il tempo salvato nel campo "deseleziona"
è superiore di 120 secondi o più rispetto all'ora attuale del sistema.
Qualche idea?
Grazie
In un database ho un campo che si chiama "selected" ed è di tipo "enum" che può valere 0 oppure 1, per defaul vale 0
Un secondo campo che si chiama "deseleziona" che è un "int(15)" nel quale scrivo l'ora presa dal sistema creando la variabile $ora = time();
La variabile la creo perchè poi mi serve per altro e la utilizzo anche per questa esigenza.
Fin qui nessun problema l'utente seleziona un oggetto, viene aggioranato il database, il campo "selected" viene settato a 1 e sul campo "deseleziona" viene scritta l'ora attraverso la variabile "$ora" prima creata.
Il problema nasce nel momento in cui devo aggiornare questi 2 campi:
L'esigenza è quella di rimettere a 0 tutti i record in cui il campo "selected" è uguale a 1 ed il campo "deseleziona" contiene un valore di tempo rispetto al quale l'ora attuale del sistema è superiore di 120 secondi o più,
se è inferiore o uguale non devo aggiornare nulla
Il tempo scritto nei vari campi "deseleziona" è sicuramente differente nei vari record perchè dipende dal momento in cui è stata effettuata la selezione e conseguentemente aggiornato il database.
Ho provato e riesco a settare tutto a 0 se superato il tempo stabilito di 120 secondi, quello che non riesco a fare è settare a zero i 2 campi solo nei record nei quali effettivamente il tempo salvato nel campo "deseleziona"
è superiore di 120 secondi o più rispetto all'ora attuale del sistema.
Qualche idea?
Grazie