Action qui se réalise toute seule sur une BDD toutes les heures

cs_milou80 Messages postés 4 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 21 octobre 2004 - 6 sept. 2004 à 15:40
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006 - 6 sept. 2004 à 16:34
Salut,

Ma question n'est pas très clair, mais je vais expliquer. Sur certain site vous voyez un décompte de par exemple 60mn, qui descend tout seul jusqu'a 0 (on ne voit qu'il descend que quand on raffraichit la page) et la il y a par exemple une action sur des variables (par exemple +100 à une variable qui vaut 1000)

La le compteur se remet à 60 min sur la page et ca recommence indéfiniment.

Je ne sais pas si je me suis bien exprimé, je n'ai aucune idée de la façon de réaliser le script du decompte de minutes et pourtant j'ai réfléchis tres longtemps au probleme... Je ne demande pas à ce qu'on me fasse le script, mais juste m'expliquer la voie à suivre.

Merci d'avance,

Milou80

1 réponse

cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
6 sept. 2004 à 16:34
pour faire ca, il faut que tu utilise une variable soit en la stockant dans 1 BDD, soit dans 1 fichier soit dans $_SESSION[],$_COOKIE[]...
Bref, cette variable doit contenir le temps UNIX (temps en secondes depuis le 1° janvier 1970) de l'exécution de la page (la 1° fois ou elle est appelé). A chaque rafraichissement, tu compare cette variable au temps UNIX actuel (celui du rafraichissment de la page), si l'écart est de 3600, tu exécute l'action que tu désires faire...
ca te donnerait quelque chose comme ca:
$tpsUnix1=time(); //temps UNIX au moment de l'envoi de la page pour la 1° fois

$tpsUnix2=time(); //temps UNIX lors du rafraichissement

if($tpsUnix2-$tpsUnix1>=3600)
{
   ... // action à réaliser
}

bien sur, $tpsUnix1 ne doit s'exécuter que la 1° fois et $tpsUnix2 les autrefois...
Pour vérifier s'il s'agit du 1° appel de la page tu peux faire ceci:
if(!isset($tpsUnix1))
{
   $tpsUnix1=time();
}


Que la Force soit avec toi, Jeune Padawan!!!
Rejoignez-nous