Добрый день.
Разрабатываю скрипт получения постов из группы за определённую дату. Не получается реализовать сдвиг 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);