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

Автор alexr11, 18 декабря 2008, 09:25:15

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

alexr11

Здравствуйте!
Подскажите, как можно сделать на главной сайта вывод количества зарегистрированных пользователей форума? Идеально (если это конечно возможно) выводить через ява скрипт, а не через php.

DiS

Включается в самом форуме
Текущая тема оформления - Темы и настройки - Отображать статистику форума на главной странице
;)

Drakonsa

Через яваскрипт я незнаю как, а вот через php - то ssi.php и ssi_boardStats() тебе в помощь :)

alexr11

Цитата: DiS от 18 декабря 2008, 09:50:05
Включается в самом форуме
Текущая тема оформления - Темы и настройки - Отображать статистику форума на главной странице
;)

Нет, ты не понял вопроса :)

Drakonsa, а можно поконкретней. Я не такой гуру в этих вопросах...  :-\

Badman


alexr11

Функция <?php ssi_boardStats(); ?>

Выводит следующие значения:

Всего пользователей: x
Всего сообщений: x
Всего тем: x
Всего категорий: x
Всего разделов: x

А мне нужно только:

Всего пользователей:

Это возможо?  :-\

Badman

смотри тогда файл ssi.php там есть код:

// Show some basic stats:  Total This: XXXX, etc.
function ssi_boardStats($output_method = 'echo')
{
global $db_prefix, $txt, $scripturl, $modSettings, $smcFunc;

$totals = array(
'members' => $modSettings['totalMembers'],
'posts' => $modSettings['totalMessages'],
'topics' => $modSettings['totalTopics']
);

$result = $smcFunc['db_query']('', '
SELECT COUNT(*)
FROM {db_prefix}boards',
array(
)
);
list ($totals['boards']) = $smcFunc['db_fetch_row']($result);
$smcFunc['db_free_result']($result);

$result = $smcFunc['db_query']('', '
SELECT COUNT(*)
FROM {db_prefix}categories',
array(
)
);
list ($totals['categories']) = $smcFunc['db_fetch_row']($result);
$smcFunc['db_free_result']($result);

if ($output_method != 'echo')
return $totals;

echo '
', $txt['total_members'], ': <a href="', $scripturl . '?action=mlist">', comma_format($totals['members']), '</a><br />
', $txt['total_posts'], ': ', comma_format($totals['posts']), '<br />
', $txt['total_topics'], ': ', comma_format($totals['topics']), ' <br />
', $txt['total_cats'], ': ', comma_format($totals['categories']), '<br />
', $txt['total_boards'], ': ', comma_format($totals['boards']);
}


скопируй его и сделай свою переменную убрав лишнее :) я бы во всяком случае так поступил, но я не гуру, может есть вариант и лучше.

alexr11

Цитата: Badman от 18 декабря 2008, 19:02:45
смотри тогда файл ssi.php там есть код:

// Show some basic stats:  Total This: XXXX, etc.
function ssi_boardStats($output_method = 'echo')
{
global $db_prefix, $txt, $scripturl, $modSettings, $smcFunc;

$totals = array(
'members' => $modSettings['totalMembers'],
'posts' => $modSettings['totalMessages'],
'topics' => $modSettings['totalTopics']
);

$result = $smcFunc['db_query']('', '
SELECT COUNT(*)
FROM {db_prefix}boards',
array(
)
);
list ($totals['boards']) = $smcFunc['db_fetch_row']($result);
$smcFunc['db_free_result']($result);

$result = $smcFunc['db_query']('', '
SELECT COUNT(*)
FROM {db_prefix}categories',
array(
)
);
list ($totals['categories']) = $smcFunc['db_fetch_row']($result);
$smcFunc['db_free_result']($result);

if ($output_method != 'echo')
return $totals;

echo '
', $txt['total_members'], ': <a href="', $scripturl . '?action=mlist">', comma_format($totals['members']), '</a><br />
', $txt['total_posts'], ': ', comma_format($totals['posts']), '<br />
', $txt['total_topics'], ': ', comma_format($totals['topics']), ' <br />
', $txt['total_cats'], ': ', comma_format($totals['categories']), '<br />
', $txt['total_boards'], ': ', comma_format($totals['boards']);
}


скопируй его и сделай свою переменную убрав лишнее :) я бы во всяком случае так поступил, но я не гуру, может есть вариант и лучше.

Ок, попробую, спасибо :)
Потом отпишусь о результатах.

Badman

я бы сделал так наверное:
function ssi_boardMembers($output_method = 'echo')
{
   global $txt, $scripturl, $modSettings, $smcFunc;

   $totals = array(
      'members' => $modSettings['totalMembers']
   );

     if ($output_method != 'echo')
      return $totals;

echo '
', $txt['total_members'], ': <a href="', $scripturl . '?action=mlist">', comma_format($totals['members']), '</a><br />';
}

digger®

Цитата: Badman от 18 декабря 2008, 19:02:45
скопируй его и сделай свою переменную убрав лишнее :) я бы во всяком случае так поступил, но я не гуру, может есть вариант и лучше.

Если не гуру, зачем орехи микроскопом колоть?
Все функции SSI умеют возвращать массив значений, данные из которого можно отобразить как требуется.
Поэтому, мне непонятна тенденция постоянно советовать кромсать SSI.php, хотя в этом нет никакой нужды.

Drakonsa

Цитата: digger от 19 декабря 2008, 00:54:12
Если не гуру, зачем орехи микроскопом колоть?
Все функции SSI умеют возвращать массив значений, данные из которого можно отобразить как требуется.
Поэтому, мне непонятна тенденция постоянно советовать кромсать SSI.php, хотя в этом нет никакой нужды.
Кстати, дай ссылку где описаны все ssi, а то я её потерял :(


Badman

Цитата: digger от 19 декабря 2008, 00:54:12
Если не гуру, зачем орехи микроскопом колоть?
Все функции SSI умеют возвращать массив значений, данные из которого можно отобразить как требуется.
Поэтому, мне непонятна тенденция постоянно советовать кромсать SSI.php, хотя в этом нет никакой нужды.

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

digger®

Цитата: Badman от 19 декабря 2008, 10:34:35
к сожалению я не знаю как это сделать :) и покромсать лишнее мне проще, увы но факт, лучше бы написал как используя ssi_boardStats() вывести только пользователей.

$ssi_stats = ssi_boardStats('array');
echo 'Всего юзеров:' . $ssi_stats['members'];

Badman