@countZer0

Как выгружать по 10 элементов одним скриптом?

Есть скрипт, который собирает json из товаров и по curl отправляет на другой сервер

<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");

header('Content-Type: application/json');

$nPageSize = 10;
$iNumPage = 1;
$arTmp = [];
// выборка товаров
$arSelect = Array("ID", "NAME", 'CATALOG_CATALOG_GROUP_ID_1', "PROPERTY_CML2_ARTICLE", "PROPERTY_MORE_PHOTO", "DETAIL_TEXT", "PROPETY_PROP_13010", "PROPERTY_PROP_13030");
$arFilter = Array("IBLOCK_ID"=>23, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "ID"=>array(82353, 82354, 82355, 82357) );
$res = CIBlockElement::GetList(Array("ID"=>"ASC"), $arFilter, false, array('nPageSize' => $nPageSize, 'iNumPage' => $iNumPage), $arSelect);
while($ob = $res->Fetch())
{
    // массив для json
    $arTmp[] = [
        "spu"=>$ob["PROPERTY_CML2_ARTICLE_VALUE"],
        "price"=>$ob["CATALOG_PRICE_1"],
        "quantity"=>$ob["CATALOG_QUANTITY"],
        "property"=>[[
        	"sku"=>$ob["PROPERTY_CML2_ARTICLE_VALUE"],
        	"price"=>$ob["CATALOG_PRICE_1"],
        	"quantity"=>$ob["CATALOG_QUANTITY"]
        ]],
        "crossedPrice"=>"99999999"
    ];
}
//выборка товаров

// HTTP Request Method
$arRes["jsonrpc"] = "2.0";
$arRes["method"] = "method";
$arRes["id"] = "1";
$arRes["params"] = [$arTmp];

$data_string = json_encode($arRes);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://###.com/something.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_HTTPHEADER, Array('Content-Type: application/json', 'X-RPC-Auth-Username: 1', 'X-Rpc-Auth-Password: ####'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);

$result = curl_exec($ch);
curl_close($ch);
?>

Но у принимающего сервера есть ограничение, он принимает не более 10 товаров за раз.
Сейчас скрипт выгружает 10 товаров и все, если запустить его еще раз, то выгрузятся те же товары. В $iNumPage хранится номер страницы, если его сменить сменятся и выгружаемые товары. Как сделать так, чтобы скрипт не требовал моего вмешательства, а сам выгружал по 10 товаров?
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы