PDA

View Full Version : چرا افراد آنلاین همیشه یک باقی می مونه؟



.fatemeh
چهارشنبه 29 تیر 1390, 08:48 صبح
سلام دوستان.
من برای نمایش افراد آنلاین از کد زیر استفاده کردم.

$Host = "localhost"; //Host name
$User = "Username"; // Username
$Mdp = "pass"; // Password
$Base = "amar"; // Database Name

mysql_connect ( $Host , $User , $Mdp ) or die(mysql_error());

//Timeout in seconds
$TimeOut = 60;

$ip = getenv( "REMOTE_ADDR" );

$Requete = "DELETE FROM online_count WHERE TMP < now()";
$Resultat = mysql_db_query( $Base , $Requete );
$Requete = "SELECT count(*) FROM online_count WHERE ip='$ip'";
$Resultat = mysql_db_query( $Base , $Requete );

while ( $T = @mysql_fetch_array( $Resultat ) ) {
$Compteur = $T["count(*)"];
}

if ( $Compteur ) {
$Requete = "UPDATE online_count SET TMP=TMP + $TimeOut WHERE ip='$ip'";
} else {
$Requete = "INSERT INTO online_count (ip, TMP) VALUES ('$ip', now()+ $TimeOut)";
}

$Envoi = mysql_db_query( $Base , $Requete );

$Requete = "SELECT count(*) FROM online_count";
$Envoi = mysql_db_query( $Base , $Requete );

while ( $T = @mysql_fetch_array( $Envoi ) ) {
$Compteur = $T["count(*)"];
}

echo $Compteur;
?>

حالا که گذاشتم روی هاست فقط عدد 1 رانمایش میده.چرا؟؟؟

ghasemweb
چهارشنبه 29 تیر 1390, 17:32 عصر
جدول online_count چه فیلد هایی داره؟ و منظورتون از خط 18 تا 20 چیه؟

.fatemeh
پنج شنبه 30 تیر 1390, 09:35 صبح
فیلد اول :ip از نوع varchar فیلد دوم :tmp از نوع timestamp
کسی می تونه برای افراد آنلاین کد دیگه ای معرفی کنه؟؟؟
دیگه وقت ندارم.:افسرده: