Page 1 sur 1

Extraire une date dans la table et comparer avec now ...

Posté : 23 août 2005, 12:26
par hugues0509
Bonjour,

Je cherche à extraire l'heure de début qui se trouve dans une table (membre, ktstart)
Ensuite la comparer à l'heure actuelle et affciher la différence de temps entre ces deux dates dans un tableau qui reprend déjà d'autres données.

Voici le code (pas simple mais je chipotte beaucoup)
Je sais que j'ai un problème avec $starttime qui ne semble pas avoir de valeur ...
Il doit probablement y avoir un autre moyen ...
merci pour votre aide ...


$timenow= date('y-m-d , H:i:s');

while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['pseudo'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['ktview'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['ktstart'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['testdone'].'</td>';

$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
$req=mysql_db_query($sql_bdd,"select * from membre",$db_link) or die(mysql_error());
$starttime=mysql_result($req,0,"ktstart");

$resultat=$timenow-$starttime;
$resultat2= date('H:i:s',$resultat);

echo $starttime;

echo '<td bgcolor="#CCCCCC">$resultat2</td>';

echo '</tr>'."\n";
}
echo '</table>'."\n";

Posté : 23 août 2005, 12:35
par sweetking
il semble que tu veuilles mesurer l'ancienneté de tes membres.

sans rentrer dans le détail du code, je stockerai le "time stamp unix" dans la base à l'inscription et le comparerais au time stamp actuel lors de l'affichage des pages.

Posté : 23 août 2005, 12:41
par hugues0509
Pas vraiment ...
Lorsqu'une page "x.php" est ouverte, l'heure est stoquée dans la base membre à côté du pseudo
Je veux pouvoir savoir à tout moment depuis combien de temps le client est dans cette même page.
Je pensais donc comparer l'heure stoquée dans la base à l'heure actuelle et afficher le résultat dans le tableau mais le code ne semble pas fonctionner et je suis un peu perdu ...

Posté : 23 août 2005, 14:17
par sweetking
tes "echo" fonctionnent t-ils ?

les " " autour des couleurs me paraissent dangereux.

Posté : 23 août 2005, 20:11
par hugues0509
Oui merci première erreur mais j'ai encore un truc dans la partie ...

$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
$req=mysql_db_query($sql_bdd,"select * from membre",$db_link) or die(mysql_error());
$starttime=mysql_result($req,0,"ktstart");

$resultat=$timenow-$starttime;
$resultat2= date('H:i:s',$resultat);

Si je mets ça dans la boucle, il ne sait pas quelle row prendre dans la table et ne stoque pas de valeur dans $starttime

c'est pas clair dans mon esprit ...

time

Posté : 23 août 2005, 23:36
par toto37
tu peux me reexpliquer ce tu veux faire exactement?

Posté : 24 août 2005, 07:55
par hugues0509
Je vais essayer d'être clair ...
* un utilisateur entre sur une page test.php3
* au moment ou il rentre, la date et heure est stoquée dans une table à coté de son nom.
* Je veux pouvoir savoir à tout moment depuis combien de temps il est sur la page.

REM:
Il y a plusieurs utilisateurs en même temps.

* Je voudrais ensuite afficher dans un tableau
nom utilisateur // heure entrée sur la page // temps sur la page
user 1 ....
user 2 ...
...

merci ...

Posté : 24 août 2005, 11:22
par hugues0509
Merci .. ça avance mais j'ai encore un problème ... mon script est maintenant :
$start=mktime(date("H"), date("i"), date("s"));
$debut= date('y-m-d , H:i:s',$start);

while($row = mysql_fetch_array($result)) {
      echo '<tr>';
	echo $debut;
      $temps= $debut - $row ['ktsart'];
	echo $row ['ktstart'];
	echo $temps;

      echo '<td bgcolor="#CCCCCC">'.$row['pseudo'].'</td>';
	echo '<td bgcolor="#CCCCCC">'.$row['ktview'].'</td>';
	echo '<td bgcolor="#CCCCCC">'.$row['ktstart'].'</td>';
      echo '<td bgcolor="#CCCCCC">'.$row['testdone'].'</td>';
	echo '<td bgcolor="#CCCCCC">'.$temps.'</td>';

      echo '</tr>'."\n";
    }
    echo '</table>'."\n";
_______________________

echo $debut me donne bien l'heure actuelle au format 05-08-24 , 11:21:00
echo $row ['ktsart'] me donne bien l'heure d'ntrée sur la page 05-08-24 , 11:11:00
mais l'echo de temps me donne "5"

comprends pas ...

Merci pour l'aide ...

Posté : 24 août 2005, 12:21
par mere-teresa
La balise BBCode [ PHP ] qui permet de colorer le code PHP dans tes messages est aussi disponible en bouton au dessus de la textBox où tu tapes tes messages, entre Quote et Code.
Merci pour nos yeux !

Posté : 24 août 2005, 12:46
par hugues0509
La balise BBCode [ PHP ] qui permet de colorer le code PHP dans tes messages est aussi disponible en bouton au dessus de la textBox où tu tapes tes messages, entre Quote et Code.
Merci pour nos yeux !
Merci et désolé, c'est adapté ...