TemKa_SD 9 08/15/18 08:01 Да, вы правильно поняли. Ну задача выполняется раз в час, если в первом часе обновилось до 1, то во втором часе обновит на 0. Ну как и должно быть в принципе, ну да, реализация не правильная, условие нужно менять. Сделайте пожалуйста, и с этим вопросом покончено ))) Поделиться сообщением Ссылка на сообщение
newbie 1723 08/15/18 08:11 Сделайте пожалуйста, и с этим вопросом покончено ))) Я же Вам написал выше1. Ставьте всем 02. Ставьте 1 тем, кто играл.и http://ipbskins.ru/forum/topic15678.html/page__view__findpost__p__104902, начиная с "Сделайте так"Нужно только 2 и 3 коды изменить Поделиться сообщением Ссылка на сообщение
TemKa_SD 9 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)); } } Изменено 15 августа 2018 пользователем TemKa_SD Поделиться сообщением Ссылка на сообщение
newbie 1723 08/15/18 08:24 А, вы предлагаете первым запросом таска в базу сбрасывать все значения?Да ..... $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 9 08/15/18 08:25 Да Да, я уже поправил своё сообщение подумав секунду. Спасибо за помощь ) Поделиться сообщением Ссылка на сообщение