@szx

Как сделать запрос?

Здравствуйте!
Есть таблица БД со столбцами
  • id Сообщества
  • id города
  • количество посетителей по городу
  • дата


Из VK API с помощью stats.get берем статистику за месяц определенного сообщества
Вопрос вот в чем
Как реализовать запросы в БД, чтоб сохранить туда общее количество посетителей за месяц
допустим ответ от VK API в переменной $stats[response]
Я сделал вот такой цикл
for($cid = 0; $cid <= 25; $cid++){//$cid - city id
    for($id = 0; $id <= 29; $id++){//$id - нумерация в JSON ответе, 0 статистика за самый последний день, 1 предпоследней и т.д. 
        $day = $stats['response'][$id]['day'];
        $visitors = $stats['response'][$id]['cities'][$cid]['visitors'];
        $value = $stats30['response'][$id]['cities'][$cid]['value'];
    }
}

в столбце дата должно быть самое первое число, потому что данные обновляются каждый день и смещение должно быть на 30 дней,
Помогите пожалуйста
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 1
@romteh
Ну может я не совсем правильно понял структуру, но я бы сгруппировал так:
$stats = array();

$stats_by_group_id = array();

foreach($stats['response'] as $day_stats) {
    $date = new DateTime($day_stats['day']);
    $date = $date->format('Y-m-') . '01';
    
    foreach($day_stats['cities'] as $id_city => $day_stats_city) {
        if (!isset($stats_by_group_id[$id_city])) {
            $stats_by_group_id[$id_city] = array(
                'date' => $date,
                'visitors' => 0,
                'cities' => 0
            );
        }

        $stats_by_group_id[$id_city]['visitors'] += $day_stats_city['visitors'];
        $stats_by_group_id[$id_city]['cities'] += $day_stats_city['cities'];
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы