Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
TemKa_SD

Помогите создать tasks

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

Да, вы правильно поняли. Ну задача выполняется раз в час, если в первом часе обновилось до 1, то во втором часе обновит на 0. Ну как и должно быть в принципе, ну да, реализация не правильная, условие нужно менять. Сделайте пожалуйста, и с этим вопросом покончено )))

Поделиться сообщением


Ссылка на сообщение

Сделайте пожалуйста, и с этим вопросом покончено )))

Я же Вам написал выше

1. Ставьте всем 0

2. Ставьте 1 тем, кто играл.

и http://ipbskins.ru/forum/topic15678.html/page__view__findpost__p__104902, начиная с "Сделайте так"

Нужно только 2 и 3 коды изменить

Поделиться сообщением


Ссылка на сообщение
08/15/18 08:22 (изменено)

А, вы предлагаете первым запросом таска в базу сбрасывать все значения?

 

	public function execute()
{
       $db = \IPS\sharedstats\DB::get();
$db::i('stats')->update('stats_forum_connections', array('active' => 0));
	$names = iterator_to_array($db::i('stats')->select(
	    "CONCAT(stats_gameplayers.name, stats_gameplayers.spoofedrealm)",
	    'stats_gameplayers',
	    array( 'UNIX_TIMESTAMP(stats_games.datetime)>?', \IPS\DateTime::create()->sub(new \DateInterval('P30D'))->getTimestamp()),
	    null,
	    null,
	    array('stats_gameplayers.name', 'stats_gameplayers.spoofedrealm')
	)->join(
	    'stats_games',
	    'stats_games.id=stats_gameplayers.gameid'
	));
	if (count($names))
	{
	    $db::i('stats')->update('stats_forum_connections', array('active' => 1), $db::i('stats')->in("CONCAT(name, server)", $names));
	}
}

Изменено пользователем TemKa_SD

Поделиться сообщением


Ссылка на сообщение

А, вы предлагаете первым запросом таска в базу сбрасывать все значения?

Да

 

.....
       $db::i('stats')->update('stats_forum_connections', array('active' => 0));

       $names = iterator_to_array($db::i('stats')->select(
           "CONCAT(stats_gameplayers.name, stats_gameplayers.spoofedrealm)",
           'stats_gameplayers',
           array( 'UNIX_TIMESTAMP(stats_games.datetime)>?', \IPS\DateTime::create()->sub(new \DateInterval('P30D'))->getTimestamp()),
           null,
           null,
           array('stats_gameplayers.name', 'stats_gameplayers.spoofedrealm')
       )->join(
           'stats_games',
           'stats_games.id=stats_gameplayers.gameid'
       ));
       if (count($names))
       {
           $db::i('stats')->update('stats_forum_connections', array('active' => 1), $db::i('stats')->in("CONCAT(name, server)", $names));
       }

Поделиться сообщением


Ссылка на сообщение

Да

 

Да, я уже поправил своё сообщение подумав секунду. Спасибо за помощь )

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...