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

Petit nouveau ! | 6 Messages

23 août 2005, 12:26

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";

Eléphanteau du PHP | 29 Messages

23 août 2005, 12:35

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.

Petit nouveau ! | 6 Messages

23 août 2005, 12:41

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 ...

Eléphanteau du PHP | 29 Messages

23 août 2005, 14:17

tes "echo" fonctionnent t-ils ?

les " " autour des couleurs me paraissent dangereux.

Petit nouveau ! | 6 Messages

23 août 2005, 20:11

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 ...

Eléphant du PHP | 164 Messages

23 août 2005, 23:36

tu peux me reexpliquer ce tu veux faire exactement?

Petit nouveau ! | 6 Messages

24 août 2005, 07:55

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 ...

Petit nouveau ! | 6 Messages

24 août 2005, 11:22

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 ...
Modifié en dernier par hugues0509 le 24 août 2005, 12:46, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

24 août 2005, 12:21

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 !
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Petit nouveau ! | 6 Messages

24 août 2005, 12:46

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é ...