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 :
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".
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 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
Partager