Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2017, 13:21   #1
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию VK Api получить список постов за сегодняшнее число

Добрый день. Требуется получить посты за сегодня. Делаю так, но парсит только первый пост.

Код:
// Получаем посты
$wall_get_result = json_decode(file_get_contents('https://api.vk.com/method/wall.get?owner_id=-'.$group_id.'&count=100&v=5.63&access_token='.$token), true);

// Получаем текущую дату
$date_today = date("d.m.y");
// Получаем дату поста в формате unixtime
$date = date("d.m.y",$wall_get_result['response']['items'][$x]['date']); 

$x = 1;
do {
    $from_id = $wall_get_result['response']['items'][$x]['from_id']; 
    $owner_id = $wall_get_result['response']['items'][$x]['owner_id']; 
    $date = date("d.m.y",$wall_get_result['response']['items'][$x]['date']); 
    echo $from_id;
    
    $x++;
} while ($date_today == $date);
ShowMessage('Добро пожаловать!');

Последний раз редактировалось Alex2009; 23.04.2017 в 17:44.
Alex2009 вне форума Ответить с цитированием
Старый 23.04.2017, 19:32   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Примерно так:
PHP код:
// Получаем посты
$wall_get_result json_decode(file_get_contents('https://api.vk.com/method/wall.get?owner_id=-'.$group_id.'&count=100&v=5.63&access_token='.$token), true);

// Получаем текущую дату
$date_today date("d.m.y");
// Посты за сегодня собираем в этот массив
$posts_today = array();

if(!empty(
$wall_get_result['response']['items']) && is_array($wall_get_result['response']['items'])) {
    foreach(
$wall_get_result['response']['items'] as $item) {
        
$item_date date("d.m.y"$item['date']);
        if(
$item_date === $date_today) {
            
$posts_today[] = $item;
        }
    }

Andkorol вне форума Ответить с цитированием
Старый 24.04.2017, 14:32   #3
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Еще один небольшой вопрос. Подсчитать пользователя у которого самое большее кол-во комментариев получилось, а вот подсчитать пользователя у кого большее кол-во лайков к комментариям за сегодня, не получается. Кто не понял объясню.
Допустим пользователь id12000 оставил 3 комментария за сегодня, первый комментарий набрал 2 лайка, второй 0, а третий 4 лайка, в итоге 6 лайков. Вот мне и нужно к каждому id прибавить лайки чтобы получить для каждого общее кол-во а потом сравнить у какого пользователя их больше всех и вывести его id.
Делаю так

Код:
// Массивы имеют такой формат "[id пользователя] => кол-во"
$countcomments = array(); // Здесь подсчет кто больше за сутки оставил комментариев 
$countlike = array(); // Здесь подсчет чьи комментарии за сутки набрали большее кол-во лайков

...

foreach($wall_get_comments['response']['items'] as $comment) {

                if(!isset($countcomments[$comment['from_id']]) and !isset($countlike[$comment['from_id']])) {
		    $countcomments[$comment['from_id']] = 1;
                    $countlike[$comment['from_id']] = $comment['likes']['count'];
		}
		else {
		    $countcomments[$comment['from_id']]++;
                    $countlike[$comment['from_id']] += $comment['likes']['count'];
		}
}
Вопрос закрыт, разобрался. Исправленный результат выше.
ShowMessage('Добро пожаловать!');

Последний раз редактировалось Alex2009; 24.04.2017 в 15:19.
Alex2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить комментарии. API VK Shouldercannon Общие вопросы Delphi 0 21.03.2015 23:38
Какое наименьшее число Z можно получить вставкой цифры X в четырёхзначное число Y. Drunk Gnome Паскаль, Turbo Pascal, PascalABC.NET 3 15.11.2014 20:57
Получить из Textfield1 число и из Textfield2,3 число. И вывести их на экран arh42kem Общие вопросы по Java, Java SE, Kotlin 2 04.06.2014 11:09
Список с заглавным звеном, из текстового файла получить список из записей и по нему уже сделать задание Zigfried Помощь студентам 2 04.10.2010 20:29
Google API (получить ссылки) Лубышев Помощь студентам 4 09.10.2009 07:08