Bir API üzerinden CURL ile veriyi çekiyorum. Fakat tam istediğim randımanı alamıyorum. Firma bana her sorguda 10.000 adet veri veriyor. Bu sebeple 10.000 sorgudan sonra for olarak döndürüyorum ama eksik / hatalı veriler geliyor. Yapmak istediğim tam olarak şu:
Her 10.000 veride 10.000'nci stok kodunu bulsun, ve sorgu tamamlanana kadar bu şekilde devam etsin. Yani 10.000 'den sonra o 10.000 stok kodunu bulacak ve o stok kodundan sonra devam edecek.
Mevcut yapım aşağıdaki gibi. Yardımcı olur musunuz?
Toplam da 500.000 kalem veri var.
<?php
$arama = 0;
$verisayisi = 500000;
for ($i = 0; $i <= $verisayisi/10000; $i++) {
$arama=$arama+10000;
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'http://www.site.com/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<StokArama xmlns="http://tempuri.org/">
<firmakod></firmakod>
<idno>'.($arama > 0 ? $arama : "").'</idno>
<arama></arama>
</StokArama>
</soap:Body>
</soap:Envelope>',
CURLOPT_HTTPHEADER => array(
'Content-Type: text/xml'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
}