Page 1 sur 1

Incrementer une heure

Posté : 29 juin 2011, 16:26
par novel
bonjour tout le monde, voila je débute en programmation et j'ai encore pas mal de difficulté !

Je souhaiterai pouvoir incrémenter les heures qui passe, simplement ajouter + 1 a une variable lorsqu'une heure est passé.
J'ai essayé avec la fonction date et la boucle while, avec for, avec des if des mktime et autre ... enfin bref je n'y arrive pas,
Je ne vous montre pas mon code car j'ai déjà recommencé tellement de fois que je ne sait plus quoi utiliser ...
Merci d'avance a ceux qui pourrons m'expliquer comment faire.

Re: Incrementer une heure

Posté : 29 juin 2011, 17:13
par Skw33d
Salut,

Il nous faut plus de détails pour que nous puissions t'aider.

Dans quel situation à tu besoin d'incrémenter cette heure ?
Puis ta variable ? Est ce une variable de session ($_SESSION) ? Est ce un cookie ($_COOKIE) ?

Donne nous plus d'informations, même un morceau de ton code actuelle même si il est buggé. On préfère toujours des gens qui viennent avec quelque chose, que ceux qui viennent demander un script tout cuit.

Re: Incrementer une heure

Posté : 30 juin 2011, 18:39
par novel
Voila mon code, j'aimerai créer un jeu ultra basique simplement pour m'entrainer et progresser, donc je voudrais que la variable $point incrémente de 1 chaque heure ou minute ... (j'ai choisi des secondes pour mes tests, ça va plus vite ^^)

Je ne cherche pas a avoir un script tout fait, simplement que l'on m'explique les mécanismes (comment faire).

Code : Tout sélectionner

<?php $date = date("s"); echo $date."<br><br>"; $point = 0; while ($point != 100) { if ($date = 5 or 10 or 15 or 20 or 25 or 30 or 35 or 40 or 45 or 50 or 55) { $point++; echo $point; } } ?>

Re: Incrementer une heure

Posté : 01 juil. 2011, 08:25
par xTG
Tu ne peux pas faire tourner le script en permanence.
Donc le principe est de stocker la date de dernière exécution du script et lorsqu'on le rappelle de remettre à jour le compteur en fonction du délai écoulé.
$derniereExecution = $_SESSION['derniereExecution']; // Timestamp stocké en session, ou bien provenant d'une base de données ou même d'un fichier
$tempsPresent = time(); // timestamp actuel
// On calcule la différence
$diffSecondes = $tempsPresent - $derniereExecution;
$diffHeures = $diffSecondes / 60 / 60; // nombre d'heures écoulées
if( $diffHeures >= 1 )
{
  $_SESSION['points'] += floor($diffHeures); // On incrémente de 1 pour chaque heure écoulée
}
Le concept est là. ;)

Re: Incrementer une heure

Posté : 01 juil. 2011, 13:22
par moogli
Tu ne peux pas faire tourner le script en permanence.
ben cgi hors contexte web si :) (il a pas précisé)



bon d'accord :arrow: :arrow: exit