SimpleXML'de Parçalı Veri Çekme
Alt kısımda vermiş olduğum kod yapısı ile xml'den verileri okuyup veritabanıma kaydetmekteyim. Bu yapıda;
&batch=1$&limit=500
ifadesi ile XML'deki ilk 500 ikinci 500 veriyi okumam mümkün oluyor. Burada yapmak istediğim veri sonlanana kadar 500'lü parçalarda okuma yapmak. Burada batch'e değişken atayıp for ile döndermek mi mantıklı yoksa farklı bir yöntem mi kullanmam gerekir ?
<b> Sorunum : </b> Gelen XML'de 3000 civarında ürün olmasına rağmen sınır koymaksızın okumaya çalışmamda sadece 493 ürün çekiyor, Parça parça okumamda sorun olmuyor tüm ürünleri alabiliyorum, bunu otomatikleştirmek istiyorum. Burada for döngüsünü kullanırken for'un içerisinde dönderince boş veri alıp almayacağından şüpheliyim.
<?php
$url = "https://########/index.php?do=catalog/output&pCode=******&batch=1$&limit=500";
$file = simplexml_load_file($url);
foreach($file as $key => $value){
$gstockCode = $value->stockCode;
$gLabel = $value->label;
$gstatus = $value->status;
$gbrand = $value->brand;
$gbrandId = $value->brandId;
.
.
.
şeklinde devam ediyor.
?>
$dizi[];
$batchs = 1;
function urlChoose($batch){
$url = "https://########/index.php?do=catalog/output&pCode=******&batch='.$batch.'$&limit=500";
$file = simplexml_load_file($url);
foreach($file as $key => $value){
$dizi[$key]['gstockCode'] = $value->stockCode;
$dizi[$key]['gLabel'] = $value->label;
$dizi[$key]['gstatus'] = $value->status;
$dizi[$key]['gbrand'] = $value->brand;
$dizi[$key]['gbrandId'] = $value->brandId;
}
$batchs++
$foreachs = urlChoose($batchs)
}
urlChoose($batchs);
print_r($dizi);