Вывод значения с базы ( сравнение по дате ) - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день вот столкнулся с проблемой. Есть одна база игрового сервера в которой таблица "history" (история) в которую заносится история игрового сервера. Структура:
ID map time
1 de_dust2002 1461589869
1 de_dust2 1461587951
1 de_cbble 1461585552
1 de_inferno 1461583751
... ... ...и тд
И есть другая база статистика игроков игрового сервера в которой по раундам выводится статистика (игровые показатели) обновление которой происходит по смене карты на игровом сервере. Здесь тоже есть дата и время но в другом формате.
ID Ник Ранг Скилл Раунд Дата
1 Коля 1 200 456 04.04.2016 02:50:13
1 Коля 3 196 457 04.04.2016 02:53:14
1 Коля 5 142 458 04.04.2016 02:54:43
1 Коля 1 200 459 04.04.2016 02:55:15
1 Коля 3 196 460 04.04.2016 02:55:53
Задача создать запрос сравнения по дате и с выводом названия карты. То есть вывести название карты с 1 базы при этом сравнивая даты двух баз.
То есть на странице статистики игроков в таблицу статистики по картам вывести название карты сравнивая дату двух баз.

Решение задачи: «Вывод значения с базы ( сравнение по дате )»

textual
Листинг программы
//HISTORY TIME
                $_time=$r['history_time'];
 
                if(config('collect_history','gaming'))
                {
                    if($cache['b']['status'] and $_time<(time()-1800))
                    {
                        $_time=time();
                        MainClass::$db->query('INSERT INTO `lm_history` (`sid`,`map`,`rang`,`players`,`time`) VALUES (\''.$r['id'].'\',\''.$cache['s']['map'].'\',\''.cacheRang($r['id']).'\',\''.$cache['s']['players'].'\',\''.$_time.'\')');
                    }
                }
 
                //Filter
                $cache['s']['map']=strtolower((string)$cache['s']['map']);
 
                //UPDATE CACHE
                MainClass::$db->query('UPDATE `lm_list` SET `country`=\''.($r['country']?$r['country']:$country).'\',`last_con`=\''.($cache['b']['status']?time():$r['last_con']).'\',`map`=\''.$cache['s']['map'].'\',`status`=\''.(int)$cache['b']['status'].'\',`cache`=\''.MainClass::$db->escapeString(serialize($cache)).'\',`cache_time`=\''.time().'\',`history_time`=\''.$_time.'\' WHERE `id`=\''.(int)$r['id'].'\' LIMIT 1');
            }

Объяснение кода листинга программы

Код выполняет следующие действия:

  1. Сохраняет время из базы данных в переменную $_time.
  2. Проверяет, включена ли сборка истории для игр.
  3. Проверяет, существует ли кэш и прошло ли время кэша более 1800 секунд.
  4. Если условия выполняются, обновляет время в кэше и выполняет запрос на вставку записи в таблицу lm_history.
  5. Применяет фильтр к значению карты в кэше.
  6. Обновляет запись в таблице lm_list, устанавливая значения страны, последнего контакта, карты, статуса, кэша, времени кэша и времени истории в соответствии с сохраненными значениями.
  7. Ограничивает обновление одной записью на основе id. Список переменных и их значений:
  8. $_time - время из базы данных
  9. $r['history_time'] - время последней записи в истории
  10. $cache['b']['status'] - статус базы данных (true или false)
  11. $cache['s']['map'] - текущая карта
  12. $cache['s']['players'] - количество игроков в текуной игре
  13. $cache['b']['status'] - статус базы данных (true или false)
  14. $country - название страны, если не установлено, используется значение по умолчанию
  15. $r['country'] - название страны из базы данных
  16. $r['last_con'] - время последнего контакта
  17. $cache['s']['map'] - текущая карта в нижнем регистре
  18. $r['id'] - уникальный идентификатор записи
  19. $cache['b']['status'] - статус базы данных (true или false)
  20. $cache['s']['map'] - текущая карта
  21. $cache['s']['players'] - количество игроков в текучной игре
  22. $cache['b']['status'] - статус базы данных (true или false)
  23. $r['id'] - уникальный идентификатор записи
  24. $country - название страны, если не установлено, используется значение по умолчанию
  25. $r['last_con'] - время последнего контакта
  26. $cache['s']['map'] - текущая карта в нижнем регистре
  27. $_time - время из базы данных

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы