Aller au contenu

Réinitialiser les variables après minuit^^


Etamine

Messages recommandés

Membre, 31ans Posté(e)
Etamine Membre 92 messages
Baby Forumeur‚ 31ans‚
Posté(e)

Effectivement ça marche. Merci beaucoup!

Et pendant que j'y suis, comment pourrais-je faire pour faire durer une action: travailler pendant 5 heures (oui je sais c'est long--'), voyager pendant 45 minutes ect...

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant
Membre, 36ans Posté(e)
Zilex Membre 91 messages
Baby Forumeur‚ 36ans‚
Posté(e)

Précalculer l'échéance et agir ci celle-ci est passée ou non ?

Un peu comme ce que tu viens de faire la en gros.

Lien à poster
Partager sur d’autres sites

Membre, Forumeur tacheté , 37ans Posté(e)
ElNix Membre 4 891 messages
37ans‚ Forumeur tacheté ,
Posté(e)
Effectivement ça marche. Merci beaucoup!

Et pendant que j'y suis, comment pourrais-je faire pour faire durer une action: travailler pendant 5 heures (oui je sais c'est long--'), voyager pendant 45 minutes ect...

Là il faut stocker la date où l'action est initialisée et quand le gars arrive sur la page vérifier si le temps s'est écoulé ou non.

Lien à poster
Partager sur d’autres sites

Membre, 37ans Posté(e)
Petisuis Membre 312 messages
Baby Forumeur‚ 37ans‚
Posté(e)
Effectivement ça marche. Merci beaucoup!

Et pendant que j'y suis, comment pourrais-je faire pour faire durer une action: travailler pendant 5 heures (oui je sais c'est long--'), voyager pendant 45 minutes ect...

Un champ date + heure, et comme ont dit mes prédécesseurs :

Soit ton champ contient la date à laquelle l'action a été effectuée.

Soit ton champ contient la date à laquelle l'action expire.

Soit les deux

Je te conseille la 3e solution qui te permet de faire le calcul de la date d'expiration 1 seule fois, au tout début (et non à chaque vérification).

Et tu gardes aussi une trace de la date à laquelle l'action a été effectuée (pour les registres ou autre)

La date que tu inséreras sera du type :

date('YmdHis') et tu devras mettre une colonne date de type char(14).

Lien à poster
Partager sur d’autres sites

Membre, 31ans Posté(e)
Etamine Membre 92 messages
Baby Forumeur‚ 31ans‚
Posté(e)

Euh j'ai du mal a visualiser là... En gros ça donne quoi?

Lien à poster
Partager sur d’autres sites

Membre, 37ans Posté(e)
Petisuis Membre 312 messages
Baby Forumeur‚ 37ans‚
Posté(e)

En gros :

Table Actions
pseudo | action | dateDebut | dateFin

// Lors de la création d'une action
// Insertion dans la table
$currentTime = date('YmdHis');
$expiredTime = $currentTime + 5 * 3600; // maintenant + 5 heures

// Récupération SQL
'SELECT * FROM Actions WHERE dateFin >= "'.date('YmdHis').'" AND pseudo="'.$pseudo.'"'

if(mysql_num_rows() > 0) { // on compte le nombre de lignes récupérées
 // y'a des actions en cours.
}

Lien à poster
Partager sur d’autres sites

Membre, 31ans Posté(e)
Etamine Membre 92 messages
Baby Forumeur‚ 31ans‚
Posté(e)

Merci pour ta réponse. Je suis en train de l'appliquer mais j'ai une parse error à la ligne de la requête. Je vois pas trop où...

<?php 
$req = mysql_query('SELECT DATE_FORMAT(date, '%Hh%imin%ss le %d/%m/%Y') AS date FROM actions WHERE dateFin >= "'.date('YmdHis').'" AND pseudo="'.$_SESSION['pseudo'].'"') or die(mysql_error());
	mysql_num_rows($req);
	$data = mysql_fetch_array($req);
if(mysql_num_rows() > 0) { // on compte le nombre de lignes récupérées
 echo'Vous êtes déjà en train de travailler. Vous devez encore trimer jusqu\'à '.$data['date'];
}
?>

Lien à poster
Partager sur d’autres sites

Membre, 31ans Posté(e)
Etamine Membre 92 messages
Baby Forumeur‚ 31ans‚
Posté(e)

C'est bon j'ai réussi. Merci pour votre aide. :rtfm:

Lien à poster
Partager sur d’autres sites

Annonces
Maintenant

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×