Xwab
Форумыnavigate_nextphpBB-WAP

Список пользователей онлайн на внешних страницах
Сообщения
abn

Здравствуйте.
Я не могу реализовать одну вещь...
Стоит такая задача: нужно на внешней странице (не относящаяся к форуму) реализовать вывод списка пользователей, которые в данный момент онлайн.
Тут как бы сложнее получается, чем просто выборка данных из БД... тут какие-то сесии, не так ли? Все же меня интересует любая информация о том, как это сделать. спс


п.с. раньше я мог одержать ответ за несколько минут, а теперь и за час нечего.. больше скажу, ответ давали от 5 человек, а теперь хоть бы один дал(

06 Ноя 2011, 13:48
hakOS

$sql = "SELECT *
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 ) . "
ORDER BY u.user_points ASC, s.session_ip ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain regd user/online information', '', __LINE__, __FILE__, $sql);
}

06 Ноя 2011, 14:45
abn

а как сделать отдельно вывод зарегистрированных и гостей?

$sql = mysql_query("SELECT * FROM `phpbb_users` u, `phpbb_sessions` s WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 )." ORDER BY u.username ASC, s.session_ip ASC;");


echo 'Зареєстровані';
while ($row = mysql_fetch_assoc($sql))
{
if ($row[session_user_id] > 0){
echo "$row[username] - $row[session_user_id] - $row[session_page] - ".date('G:i',intval($row[session_time]))."<br />";
}
}

echo 'Гості';
while ($row = mysql_fetch_assoc($sql))
{
if ($row[session_user_id] == -1){
echo "$row[username] - $row[session_user_id] - $row[session_page] - ".date('G:i',intval($row[session_time]))."<br />";
}
}


что то не хочет... показывает только зарегистрированных.
где то с кодом ошибка....

06 Ноя 2011, 23:52
Kovalsky

abn, с кодом то ошибки нет..
просто один запрос пытаетесь двумя циклами разобрать...
да и зачем два цикла?

$sql = mysql_query("SELECT * FROM `phpbb_users` u, `phpbb_sessions` s WHERE u.user_id = s.session_user_id
AND s.session_time >= ".( time() - 300 )." ORDER BY u.username ASC, s.session_ip ASC;");


$users = 'Зареєстровані<br />';
$guests = 'Гості<br />';
while ($row = mysql_fetch_assoc($sql))
{
if ($row[session_user_id] > 0){
$users .= "$row[username] - $row[session_user_id] - $row[session_page] - ".date('G:i',intval($row[session_time]))."<br />";
}
else
{
$guests .= "$row[username] - $row[session_user_id] - $row[session_page] - ".date('G:i',intval($row[session_time]))."<br />";
}
}

echo $users,$guests;

07 Ноя 2011, 0:01
abn

Kovalsky, спасибо!


кто знает. как можно сделать запись бд странички на которой юзер находится?
сам код определения - $page = getenv('REQUEST_URI');

а от не могу занести в phpbb_sessions данные.

13 Ноя 2011, 15:56
Alekksss

чё делать? Я ни чего не понимаю

14 Ноя 2011, 7:20
hakOS

$userdata = session_pagestart($user_ip, -487);
"-487" и есть идентификатор странички, который заносится в базу. У каждой должен быть разный
добавлено спустя 19 секунд:
$userdata = session_pagestart($user_ip, -487);
"-487" и есть идентификатор странички, который заносится в базу. У каждой должен быть разный

14 Ноя 2011, 7:45
Виктор

Alekksss,
Всё подробно написали

24 Ноя 2011, 10:26
Ответить на тему