Перейти к контенту
  • 0

Статистика Форума или Онлайн пользователи


Вопрос

Помогите разобраться, как взять из БД список онлайн пользователей или как вызвать функцию показа "Статистики форума".

Мне нужны пользователи те которые в данный момент находятся в Онлайне, что бы вставить их на главную станичку, заранее благодарю.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

SELECT member_name FROM ibf_sessions WHERE member_id<>0 ORDER BY member_id ASC

Добавлено в [mergetime]1087129501[/mergetime]

Кстати, вроде пользователи и так выводятся на главной странице? Это ж стандартная фишка форума.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

что бы вставить их на главную станичку, заранее благодарю.
Я думаю, сайт имеется ввиду а не главная форума.
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Song

 

SELECT member_name FROM ibf_sessions WHERE member_id<>0 ORDER BY member_id ASC

 

как это понимать? если можно поподробнее :D

 

Кстати, вроде пользователи и так выводятся на главной странице? Это ж стандартная фишка форума.

 

Остап прав, мне надо это на главную страничку вывести и за одно на чат.

 

TABLE-am_ipb_members-joined по умолчанию = 0

 

а как бы по проще все это сделать? т.е. что бы не писать код для извлечения онлайн юзеров. Там ведь где то эта функция стоит (для показа юзеров на главной странице), как бы ее найти? если кто знает помогите пожалуйста.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
как это понимать? если можно поподробнее

Это я тебе написал запрос с помощью которого можно вытащить что тебе надо.

А чтобы его использовать извне форума, надо подключаться к БД, а потом ещё обрабатывать результаты запроса, генерить html и выводить его.

Я бы тебе посоветовал какой-нибудь портал использовать.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Портал у меня есть, sPaiz-Nuke и менять его из-за этого я бы не хотела ;)

моя проблема в том что я не знаю БД, а сгенерировать на php > html я могу.

люди добрые, если не трудно объясните как циклом вывести список онлайн пользователей из БД.

к примеру в переменную $userid записывать активного пользователя, а как его отобразить на страничке я думаю с этим разберусь, буду благодарна за помошь :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В самом общем случае:

 

$members = '';
while ($row = mysql_fetch_assoc(mysql_query("SELECT member_name FROM ibf_sessions WHERE member_id<>0 ORDER BY member_id ASC"))) $members .= $row['member_name'] . ' ';

 

А как запросы к базе в твоём портале организованы - это мне неизвестно... :\

Ссылка на комментарий
Поделиться на других сайтах

  • 0

это как я поняла код для извлечения юзеров из БД? :D

 

А как запросы к базе в твоём портале организованы - это мне неизвестно... :\

 

они разве не одинаковы?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
это как я поняла код для извлечения юзеров из БД?

Активных юзеров, стандартными средствами PHP.

они разве не одинаковы?

А вот не знаю. Форум IPB использует специализированные функции для работы с БД MySQL, а твой портал (если говорим про sPaiZ-Nuke или как его там) - обычные SQL... Не знаю, будет ли работать мой код, поэтому проверять придётся тебе. :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

theIggs

 

нет, у меня база даных MySQL, все прекрасно заработает, если правильно написать код :D

 

$members = ''; # - тут мы устанавливаем переменную

 

while ($row = mysql_fetch_assoc(mysql_query("SELECT member_name FROM ibf_sessions WHERE member_id<>0 ORDER BY member_id ASC"))) # - тут как я понимаю извлекается юзер из БД и записывается в переменную $members .= $row['member_name'] . ' ';

 

но он только один :) как бы их всех от туда извлечь, т.е. создать

массив $array_user = array();

- циклом поместь юзеров в массивную переменную и записать в файл.

хотя в файл не надо, сама разберусь, просто помогите поместить их в массивную переменную, буду благодарна за помошь ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
но он только один

Не должен быть один...

 

Допустим, для массива:

$members = array;
while ($row = mysql_fetch_assoc(mysql_query("SELECT member_name FROM ibf_sessions WHERE member_id<>0 ORDER BY member_id ASC"))) $members[] = $row['member_name'];

после чего в переменной $members имеем массив, состоящий из имён пользователей.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В общем, вот такой скриптик у меня получился на все случаи жизни:

<?php
    
    # Нам потребуется конфигурационный файл форума - будем из него брать настройки для соединения с базой.
    # Если соединение с базой уже есть (например, вписываем этот код в какой-то уже готовый портал и т.п. -
    # строчки с DB_CONNECT по END_DB_CONNECT можно удалить
    
    # ./ - означает, что наш php-файл лежит в одном каталоге с index.php форума. В противном случае тут
    # нужно прописать полный путь к conf_global.php
    
    require('./conf_global.php');
    
    # DB_CONNECT коннектимся к базе
    $connection_id = mysql_connect( $INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass'] );
    
    if ( !mysql_select_db($INFO['sql_database'], $connection_id) )
    {
        echo ("ERROR: Cannot find database ".$INFO['sql_database']);
    }
    # END_DB_CONNECT
    
    $members = array();
    
    $query = mysql_query("SELECT member_name FROM ibf_sessions WHERE member_id<>0 ORDER BY member_id ASC");
    
    while ($row = mysql_fetch_assoc($query)) $members[] = $row['member_name'];
    
    # После выполнения while() имеем в переменной $members массив, состоящий из имён пользователей
    # Печатаем его при помощи print_r() или используем его для каких-либо других целей
    
    echo '<pre>'; print_r($members); echo '</pre>';

?>

В предыдущих постах я немного намудрил от нехватки времени на детальную проработку типа... :D

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.