@dj_vadim

Почему не работает сдвиг offset при запросе данных ВК?

Добрый день.
Разрабатываю скрипт получения постов из группы за определённую дату. Не получается реализовать сдвиг offset. Т.е. я запрашиваю по 30 постов (30 это для примера) и делаю сдвиг на 30 до тех пор пока не выберу последний пост по самой поздней дате в диапазоне дат.
$date_first = strtotime('18.02.2016'); // начальная дата
$date_second = strtotime('15.02.2016'); // конечная дата
$owner_id = '-83935640'; // сообщество для примера
$status = true; // для цикла
$data['count_iteration'] = 0; // количество итераций
$data['result'] = '';
do {
       $param = array(
             'owner_id' => $owner_id,
             'offset'   => 30*$data['count_iteration'],  // сдвиг
             'count'    => 30,  // количество выбираемых
            'filter'   => 'all',
             'extended' => 0
        );
      $data['count_iteration']++; // увеличиваем количество итераций на 1
      $res = $this->vkontakte_lib->api('wall.get', $param);  // запрашиваем посты из группы
                    
     foreach($res['items'] as $item): // в цикле проверяем на соответствие каждого поста диапазону дат
            if($date_first>=$item['date'] && $item['date']>=$date_second){
                  $data['result'][] = $item['id']; // записываем id поста в массив
             } else if($item['date']<$date_second) { // если пост был последним из диапазона дат то мы 
                   $status = false;  // выходим из цикла
                   echo "конец на ".$data['count_iteration'].' итерации<br>';
             }
      endforeach;
} while($status);
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
@dj_vadim Автор вопроса
Проблема решена.
Скрипт изначально работал, но только при условии что в группе нет закреплённых записей. Думаю дальнейшие комментарии излишни.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Silm
Забыли написать какой результат.

Почему массив $param у вас инициализируется в теле цикла?
Смотрели содержимое $param в момент перед отправкой запроса в VK?
Ответ написан
Ваш ответ на вопрос

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

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