128 messaggi dal 14 settembre 2004
Buongiorno ho questo problema che vi spiego qui sotto e che davvero no so da dove iniziare per affrontarlo

ho un db mysql in un campo di una tabella ho un valore ad esempio 100

cliccando su un bottone in una agina asp questo valore dovrebbe iniziarsi a decrementare sul db di una unità ogni tot di tempo (es 60 secondi)

questo sincheè non premo un'altro bottone sulla pagina asp o se non arriva a 0 il valore del campo

tutto sarebbe "facile" se nel frattempo che fa il decremento la pagina asp rimanesse aperta ma in realtà l'utente dopo aver premuto lo "start" deve poter abbandonare la pagina in questione e ritornarci se vuole in un secondo momento per premere "STOP" nel frattempo il valore del db deve essere stato decrementato di 1 per ogni minuto trascorso

spero di essere stato chiaro nella mia speigazione

un grazie anticipato a chiunque voglia e sappia rispondermi
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
è molto semplice: anziché avere una colonna int in cui scrivi il valore 100, ti crei invece una colonna DATETIME nullable, con valore di default null, in cui inserisci la data/ora corrente quando l'utente clicca il tasto Start.

In questo modo non c'è bisogno di aggiornare periodicamente alcun valore. L'utente può anche lasciare la pagina perché, quando tornerà a visitarla, tu saprai facilmente quanti secondi sono trascorsi perché ti basterà fare la differenza tra la data/ora corrente e la data/ora che avevi precedentemente memorizzato nel campo.

Ecco un paio di funzioni MySql che ti possono aiutare:
  • NOW ti dà la data/ora corrente
  • TIMEDIFF serve a fare la differenza tra due date
  • TIME_TO_SEC ti converte quella differenza in secondi


Dunque, per capire quanti secondi sono passati usa:
SELECT TIME_TO_SEC(TIMEDIFF(NOW(), CampoDataStart)) FROM Tabella WHERE....


Se il valore che ti viene restituito dalla query supera i 100, inibisci il bottone stop (come se fosse stato stoppato automaticamente).

ciao,
Moreno
Modificato da BrightSoul il 25 giugno 2015 21.08 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.