Как сделать счётчик максимального онлайна? Помогите
Как сделать счётчик максимального онлайна? Помогите
Iron_Man, опиши подробнее, что за максимальный онлайн?
ДоХтор, парень хочет вывести цифру максимального количества посетителей, которые находились когда либо на сайте одновременно.
# intelligent (14.10.2017 / 23:59)Понял, спс )
ДоХтор, парень хочет вывести цифру максимального количества посетителей, которые находились когда либо на сайте одновременно.
Iron_Man, надо создать в базе поле, в котором скрипт будет хранить число-счётчик, и проверять по условию - если число в базе меньше реального числа в онлайн, то перезаписать.
На форуме вроде полно таких примеров. Попробуй поиском найти.
Ищу.. ищу, но никак найти не могу
Iron_Man, буду за ПК, напишу пример.
ДоХтор, Ок
--
-- Структура таблицы `online`
--
DROP TABLE IF EXISTS `online`;
CREATE TABLE IF NOT EXISTS `online` (
`onl_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`onl_all` int(10) UNSIGNED NOT NULL DEFAULT 0,
`onl_time` int(10) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`onl_id`),
KEY `onl_all` (`onl_all`),
KEY `onl_time` (`onl_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1;
INSERT INTO `online` (`onl_all`) VALUES (0);/*
-----------------------------------------------------------------
Счетчик посетителей онлайн
-----------------------------------------------------------------
*/
static function online()
{
$users = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `lastdate` > '" . (time() - 300) . "'"), 0);
$guests = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_sessions` WHERE `lastdate` > '" . (time() - 300) . "'"), 0);
return (core::$user_id || core::$system_set['active'] ? '<a href="' . core::$system_set['homeurl'] . '/users/index.php?act=online">' . functions::image('menu_online.png') . $users . ' / ' . $guests . '</a>' : core::$lng['online'] . ': ' . $users . ' / ' . $guests);
}/*
-----------------------------------------------------------------
Счетчик посетителей онлайн
-----------------------------------------------------------------
*/
static function online()
{
$users = mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `lastdate` > '" . (time() - 300) . "'"), 0);
$guests = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_sessions` WHERE `lastdate` > '" . (time() - 300) . "'"), 0);
$online = mysql_fetch_assoc(mysql_query('SELECT * FROM `online`'));
if ($online['onl_all'] < $users) {
$online['onl_all'] = $users;
$online['onl_time'] = time();
mysql_query("
UPDATE `online`
SET `onl_all` = {$online['onl_all']},
`onl_time` = {$online['onl_time']}
");
}
$onl_all = ' / <b>'. $online['onl_all'] .'</b><small> чел. '.
functions::display_date($online['onl_time']) .'</small>';
return (core::$user_id || core::$system_set['active']
? '<a href="' . core::$system_set['homeurl'] . '/users/index.php?act=online">' .
functions::image('menu_online.png') . $users . ' / ' . $guests . '</a>'
: core::$lng['online'] . ': ' . $users . ' / ' . $guests) . $onl_all;
}