好的,所以我到处搜索如何解决这个问题。我试图显示在线用户,但不是所有用户,只有你的朋友列表中的用户。
所以我有一个名为 users_online 的表,当用户登录我的网站时,该表中会自动创建 1 行,其中包含日期、ip、名称、user_id 和friend_array(保留所有用户的朋友)
例如,我登录我的网站并在 users_online 表中创建行。我只想在线查看我的朋友,这些朋友存储在friend_array列中(1,5,16,5(那是朋友的ID号))。我如何从friends_array列中获取数据并查看记录了其中的哪一个ID目前,这意味着哪些 id 存在于 user_online 表中并显示在我的个人资料中?
我希望不是令人困惑的问题...
好吧,这就是我的代码..所有存储在 online.php 文件中:
// Checking wheter the visitor is already marked as being online:
$inDB = mysql_query("SELECT user_id FROM users_online WHERE user_id=".$userid);
if(!mysql_num_rows($inDB))
{
// Selects some data required to insert into users_online table from users table
$DB = mysql_query("SELECT img,fname,friend_array FROM users WHERE user_id=".$userid);
while($row=mysql_fetch_assoc($DB))
{
$img = $row['img'];
$fname = $row['fname'];
$farray = $row['friend_array'];
}
mysql_query(" INSERT INTO users_online (user_id,ip,img,fname,friend_array)
VALUES(".$userid.",'".$intIp."','".$img."','".$fname."','".$farray."')");
}
else
{
// If the visitor is already online, just update the dt value of the row:
mysql_query("UPDATE users_online SET dt=NOW() WHERE user_id=".$userid);
}
// Counting all the online visitors:
// Thats where i need to work out with friend array..
// I need to display all online friends only
list($totalOnline) = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users_online"));
// Outputting the number as plain text:
echo $totalOnline;