v2.5.2
Giriş yap

php dizileri ekrana bastırırken sorun yaşıyorum

Anonim
251 defa görüntülendi

Merhabalar,
Bir xml linkinden veri çekiyorum. Verinin içinde Erkek atlet var. Erkek atletin siyah beyaz rengi var. Siyah rengin S-M-L-XL bedeni aynı şekilde beyazda da mevcut.
Xml deki veriyi foreach döngüsüne sokuyorum. Fakat bana sadece xmldeki en baştaki siyah rengin s bedenini getiriyor. Diğerlerini direkt olarak es geçiyor ve bir sonraki ürüne geçiyor.
ornek resim ->https://imgyukle.com/i/EAfCWc
xml linki ->http://www.gipastekstil.com/index.php?do=catalog/output&pCode=6548775307

ebykdrms
963 gün önce

XML biraz kafa karıştırıcı hazırlanmış. Dizinin altındaki elemanın altında yine tek elemanlı bir dizi tutmuşlar. Ama kendi içinde tutarlı.
Öncelikle verdiğiniz linkten PHP'de curl ile xml'i string olarak elde ettim ve $xmlString adlı değişkenime aldım.
Bu aşamadan sonrasını yazıyorum:

$xml = simplexml_load_string($xmlString, 'SimpleXMLElement', LIBXML_NOCDATA);
$json = json_encode($xml);
$array = json_decode($json,TRUE);

foreach($array['item'] as $itemKey=>$item) {
  echo "<h1>Ürün $itemKey</h1>";
  echo '<strong>Ürün Adı:</strong> '.($item['urunadi']).'<br>';
  echo '<strong>Çeşitler:</strong>';
  echo '<ul>' ;
  foreach($item['variants']['variant'] as $variant) {
    echo '<li>';
    echo '<strong>Stok Kodu:</strong> '.$variant['vStockCode'].'<br>';
    foreach($variant['options']['option'] as $option) {
      echo '<b>'.$option['variantName'].'</b>: '.$option['variantValue'].'<br>';
    }
    echo '</li>';
  }
  echo '</ul>';
}

Burada örnek olarak tüm ürünlerin içine girip tüm varyasyonlarını yazdırdım.
Kodu inceleyip kendinize göre düzenleyebilirsiniz.