ОК, так что я headech от поиска везде, как решить эту problem..Im пытается показать пользователей онлайн, но не все пользователи, только тот, кто находится в вашем списке друзей ..Mysql друзей онлайн дисплей
Я таблица с именем users_online и когда пользователь регистрируется на моем веб-сайте в этой таблице, автоматически создается 1 строка с датой, ip, именем, user_id и friend_array (где хранятся друзья всех друзей)
Так, например, я вхожу в систему мой сайт и строка создаются в таблице users_online. Я хочу видеть только своих друзей в Интернете, и эти друзья хранятся в столбце friend_array (1,5,16,5 (это номер идентификатора друзей)). Как я могу взять данные из col_ru_ru_ru и узнать, какой из этих идентификаторов зарегистрирован? на данный момент, что означает, какой из этих идентификаторов существует в таблице user_online и отображается в моем профиле?
Я надеюсь, что это не сбивает с толку вопрос ...
Ну вот мои code..all магазины в 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;
Рассмотрите возможность использования колонки друзей в другой таблице и сохранения каждого друга новой строки, не в массиве. Также не вставляйте новую строку для каждого входа, но обновляйте текущее значение временной метки. Вы также можете использовать 'INSERT .... ON DUPLICATE KEY UPDATE online = NOW()' –
Ну, я тоже об этом подумал. Чтобы создать другую таблицу и использовать только id, user_id и friends_id .. – AlwaysConfused