Использование SimpleXML для извлечения данных из основного XML-файла. XML выглядит примерно так:
<shop> <section> <title></title> <products> <item> ... </item> </products> </section> </shop>
Я могу загружать и обходить узлы, но когда я заполняю HTML с каждым элементом раздела, он продолжает повторять первые элементы раздела. Я запутался, потому что имя каждого раздела выводится правильно, но с использованием первого набора элементов.
foreach($xml->section as $section){ $i=0; echo '<div class="section"><div class="sectionTop"><h3>'.$section->title.'</h3><a class="expand">+/-</a></div>'; foreach($xml->section->products as $products){ foreach($products->item as $item){ if($i==3){echo '</div><div class="extra">';}?> <div class="item"> <img src="<?=$item->image?>" /> <div class="prodName"><?=$item->name?></div> <div class="price">£<?=$item->price?></div> <a href="<?=$item->url?>" class="shopNow">SHOP</a> </div> <? $i++; unset($item); } unset($products); }
сforeach($xml->section as $section){ $i=0; echo '<div class="section"><div class="sectionTop"><h3>'.$section->title.'</h3><a class="expand">+/-</a></div>'; foreach($xml->section->products as $products){ foreach($products->item as $item){ if($i==3){echo '</div><div class="extra">';}?> <div class="item"> <img src="<?=$item->image?>" /> <div class="prodName"><?=$item->name?></div> <div class="price">£<?=$item->price?></div> <a href="<?=$item->url?>" class="shopNow">SHOP</a> </div> <? $i++; unset($item); } unset($products); }
этотforeach($xml->section as $section){ $i=0; echo '<div class="section"><div class="sectionTop"><h3>'.$section->title.'</h3><a class="expand">+/-</a></div>'; foreach($xml->section->products as $products){ foreach($products->item as $item){ if($i==3){echo '</div><div class="extra">';}?> <div class="item"> <img src="<?=$item->image?>" /> <div class="prodName"><?=$item->name?></div> <div class="price">£<?=$item->price?></div> <a href="<?=$item->url?>" class="shopNow">SHOP</a> </div> <? $i++; unset($item); } unset($products); }
неforeach($xml->section as $section){ $i=0; echo '<div class="section"><div class="sectionTop"><h3>'.$section->title.'</h3><a class="expand">+/-</a></div>'; foreach($xml->section->products as $products){ foreach($products->item as $item){ if($i==3){echo '</div><div class="extra">';}?> <div class="item"> <img src="<?=$item->image?>" /> <div class="prodName"><?=$item->name?></div> <div class="price">£<?=$item->price?></div> <a href="<?=$item->url?>" class="shopNow">SHOP</a> </div> <? $i++; unset($item); } unset($products); }
Может ли кто-нибудь помочь? Это, где я до сих пор, не работает, не работает 🙁 <shop>
is $xml
Вы должны использовать переменную $ section, чтобы считать ее продуктами.
Итак, foreach ($ xml-> section-> products как $ products) {-> foreach ($ section-> продукты как $ products) {