bonjour ,

je désire calculer le nombre de personne en ligne , j'ai un champs "time" dans ma db , il obtien une valeur a la connection , et a chaque passage sur n'importe qu'elle page du site ( update ) .

voici comment je procede :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php $req = "SELECT time ".
"FROM utilisateurs ";
$ret = mysql_query ($req) or die (mysql_error ());
 $kak = time();
if ( $col = mysql_fetch_array($ret) )
 
{
 
       $mogon = ($kak-($col['time']));
      $hote = 'localhost';
$base = 'x';
$user = 'x';
$pass = 'x';
$cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ());
$ret = mysql_select_db ($base) or die (mysql_error ());
 $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM utilisateurs WHERE time = ($mogon < 600) ")  or die(mysql_error());
 while ( $donnees = mysql_fetch_array ($retour) )  {  echo ($donnees['nbre_entrees']);  }
 
 
 
}  ?>
je veux donc qu'il calcule le nombre de ligne dont le temps est inferieur a 600 secondes , ainsi je sais le nombre de personne en "ligne".

je suppose que ma syntaxe est fause , ou bien que l'on peut pas proceder ainsi

il me donne : 86
quand je fais : ($mogon > 600) alors que theoriquement lors de l'essai , seul 1 personne etaient <600 il y a 87 personne sur le site


il me donne : 0
quand je fais : ($mogon < 600) alors que en db il y a bien des valeurs plus petite que 600


il me donne : 86
quand je fais : ($mogon > 999999600 )


il me donne : 0
quand je fais : ($mogon < 999999600 ) alors qu'il y a beaucoup de valeur de de moin que 999999600 en db

que faire?

merci