Flector: вы в запросе запрашиваете 500 элементов.
даже если они пустые.
count считает количество элементов, а не количество не пустых элементов.
вот и выходит, что всегда 500.
2de: А что Вам отдает сервер? Вы уверены что запрос получается правильный, не может быть так что последний запрос получается неправильный и сайт пытается его обработать из-за чего отдает предыдцщие данные.
Или, может быть так, что число записей кратно 500 и Ваш цикл будет работать постоянно для некоторых наборов данных.
Вряд ли последний запрос неправильный, так как если без цикла вручную прописать $limit_offset = 500, то $count_leads будет 0.
Число записей как раз равно 500. Но почему в этом случае цикл работает бесконечно,
если после взятия первых 500 записей $count_leads будет равен 500, а после взятия вторых 500 записей $count_leads будет равен 0. А 0 - это уже условие для прерывания цикла.
Только 0 в $count_leads никак не получается. Всегда $count_leads равен 500 (при 500 записях).
а не пробовали ответ сервера проверять?
Пробовал. Ошибок не возвращает.
2de, спасибо!
Дело действительно в этом. А сейчас буду разбираться, что за ошибка.
я хз, обнулите $count_leads в начале цикла.
Ну а если ХЗ, то чего умничать?
Дело не в $count_leads. $leads_list постоянно в каждой итерации выводится тоже один и тот же (500 элементов).
вы в запросе запрашиваете 500 элементов.
даже если они пустые.
count считает количество элементов, а не количество не пустых элементов.
вот и выходит, что всегда 500.
я так думаю, но могу ошибаться.
Вы ошибаетесь, я уже выше писал.
Если без цикла вручную прописать
$link='https://'.$subdomain.'.amocrm.ru/private/api/v2/json/leads/list?limit_rows=500&limit_offset=500';
то $count_leads выведет 0.
вы шутите?
условие же у вас прописано - повторять пока $count_leads == 500, вот оно и повторяется.
или вам нужна справка по циклу do while?
Flector, А где я шучу?
$count_leads - это количество элементов в полученном массиве.
А при пятистах записях последний массив должен иметь 0 элементов
(первая итерация цикла: $count_leads == 500, вторая итерация: $count_leads == 0), а 0 !=500,
значит цикл должен прерваться.
Разве нет?
А что Вам отдает сервер? Вы уверены что запрос получается правильный, не может быть так что последний запрос получается неправильный и сайт пытается его обработать из-за чего отдает предыдцщие данные.
Или, может быть так, что число записей кратно 500 и Ваш цикл будет работать постоянно для некоторых наборов данных.
Вряд ли последний запрос неправильный, так как если без цикла вручную прописать $limit_offset = 500, то $count_leads будет 0.
Число записей как раз равно 500. Но почему в этом случае цикл работает бесконечно,
если после взятия первых 500 записей $count_leads будет равен 500, а после взятия вторых 500 записей $count_leads будет равен 0. А 0 - это уже условие для прерывания цикла.
Только 0 в $count_leads никак не получается. Всегда $count_leads равен 500 (при 500 записях).
В том то и дело, что $count_leads вывожу на экран для проверки.
echo $count_leads бесконечно показывает 500.
Также $leads_list вывожу на экран, и в каждой итерации цикла выводятся одни и те же 500 элементов массива.
Уже голову сломал, ничего понять не могу.
responsible_user_id в ответе
responsible_user_id - это ID ответственного. А меня интересует, как получить инфу по ПОСЛЕДНЕЙ сделке.
И что это за картинка? Скрипт ничего не возвращает, ничего не выводит на странице.
;13609103']Вместо числа указывайте значение типа Date
Можете указать пример?