Calcul de secondes entre des dates

Mammouth du PHP | 1776 Messages

01 oct. 2005, 01:13

<?
if (!isset($_SESSION["derniere_con"]))	{
	$mysql_selection_date = mysql_query("SELECT ton_timestamp FROM ta_table WHERE utilisateur=".$ton_user_actuel);
	$reponse_temps = mysql_fetch_array($mysql_selection_date);
	$_SESSION["derniere_con"] = $reponse_temps["ton_timestamp"];
	mysql_query("UPDATE ta_table SET ton_timestamp='".date("U")."' WHERE utilisateur=".$ton_user_actuel);
}
echo "Vous vous êtes connecté pour la dernière fois le".date("d-m-Y",$_SESSION["derniere_con"])." à ".date("G:i",$_SESSION["derniere_con"]);
?>
Je n'ai pas testé mais l'idée est là. Faut faire tourner ça lorsque le membre se connecte et qu'il est sous sa session.
Modifié en dernier par DocType le 09 oct. 2005, 03:40, modifié 1 fois.

Eléphant du PHP | 80 Messages

01 oct. 2005, 01:16

Oula, bon, merci de votre aide, je relirais ça demain matin, tant pis, jy comprends rien...

Merci quand même
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 1776 Messages

01 oct. 2005, 01:21

Oula, bon, merci de votre aide, je relirais ça demain matin, tant pis, jy comprends rien...

Merci quand même
simple !

Code : Tout sélectionner

SI la variable de session "derniere_con" n'existe pas On selectionne le timestamps UNIX stockée en BDD (type int) On incrémente la variable de session "derniere_con" de cette dernière On met à jour la date de connexion en BDD (timestamp actuel) Fin de SI on affiche la date de dernière connexion
Ce code est adaptable (voir un autre script sur le compte à rebours) afin de par exemple avoir le nombre d'heure minutes secondes depuis la dernière connexion ! ET tout cela avec un seul champ en base de donnée !

Nota: je pensais que c'était très très pressé? :roll: :lol:

Mammouth du PHP | 1776 Messages

02 oct. 2005, 19:36

Résolu ?
Non résolu ?
:roll:

Eléphant du PHP | 80 Messages

09 oct. 2005, 02:55

Non résolu ^^

J'ai testé tout un tas de chose pendant cette semaine, et je suis aller jusqu'à faire quelque chose qui ferait hurler les puristes du php ^^

Voici le monstre :
$date1=(date("Y")*10000000000);
$date2=(date("m")*100000000);
$date3=(date("d")*1000000);
$date4=(date("H")*10000);
$date5=(date("i")*100);
$date6=(date("s")*1);
$date_a = (($date1+$date2+$date3+$date4+$date5+$date6)*1.666666666666666666666666666666666666666666);
C'est une sorte de timestamp fait main lol, vous pouvez arreter de hurler ^^, mais je me suis rendu compte que, yavait un bug, d'un jour à l'autre, d'un mois à l'autre, d'une année à l'autre.

Je vois pas comment faire mon timestamp correctement, sachant que j'ai un fichier importé dans chaque page de mon php, qui compare l'ancienne date à l'actuelle, et que à partir de la différence, me fait un calcul...

Bref, je vois pas comment utiliser variant_date_to_timestamp et quoi faire avant et après pour que ça marche correctement...

Merci !
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 1776 Messages

09 oct. 2005, 03:40

Là tu le fais exprès :lol:
Y'a la fonction date() qui te calcule le timestamp actuel...
date("U");
D'une part...

Ensuite, avec un peu de logique...
Lors de la connexion au site du membre, tu met a jour le timestamp actuel dans un champ int en bdd. tu recupere au préalable le timestamp qui etait situé en bdd. Ensuite, tu fais le calcul entre les deux variables (variable de derniere connexion en bdd et date actuelle) et tu affiches le résultat formaté correctement.
Je croyais que tu étais pressé la dernière fois ? :roll:

Bref, ca fait un truc du genre:

Code : Tout sélectionner

#script inscription du membre mise a jour du champ en bdd avec la date d'inscription #script connexion du membre recup de la variable ($_SESSION) (disons N°1) mise a jour de la variable mise en session de la date de connexion ($_SESSION) (disons N°2) #script affichage en zone membre date de connexion (2) - recup variable (1) = nombre de secondes entre derniere connexion et actuelle on met en forme le resultat
Pour info les variables de session resteront affichées tout le temps que ton navigateur sera ouvert, d'où son utilité dans le script

Je ne vois pas plus simple, et si tu ne comprends pas mon raisonnement, c'est les bases de la logique mathematique qu'il faudra revoir :wink:

Eléphant du PHP | 80 Messages

09 oct. 2005, 15:54

J'avais trouvé une solution provisoire, mais qui plante vers 00h00 ^^

Euh, je vais tester ta solution, mais je dois attendre ce soir,

Merci ;)
XaV...
Webmaster des Larmes du Chaos

Mammouth du PHP | 19672 Messages

09 oct. 2005, 15:57

:shock: : comment ça ça plante vers minuit ??
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1776 Messages

09 oct. 2005, 16:04

:shock: : comment ça ça plante vers minuit ??
J'adore tes yeux Cyrano, ils sortent de leur orbite :lol: