Autor Zpráva
Misha
Profil *
Zdravím, máme takový problém. Mám feed s produktama a potřebuji z něj načíst jen jeden produkt - podle čísla pořadí. Pořadí ukládám do proměnné $i. Ten script, který mám, funguje jen pokud $i = 0, ale u vyšších čísel už ne. Co mám špatně?

<?php
$url = "http://www.website.cz/feed.xml"; 
$xml = simplexml_load_file($url);

$i = 35;

$row[] = $xml->SHOPITEM;
echo $row[$i]->SKU;
?>
Taps
Profil
Misha:
inspirace, viz níže. Asi bude však nutné skript ještě trošku poupravit.
<?
$url = "http://www.website.cz/feed.xml"; 
$xml = simplexml_load_file($url);
$index = 0;
foreach ($xml->channel->item as $item){
if($index > 0){ break; }
$index++;
echo  $item->SHOPITEM;
}
?>
Misha
Profil *
Taps
No jo, ale ten script vypíše všechno. Respektive projde všechno a to je časově dost náročné. Feed má přes 5000 položek.
Taps
Profil
Misha:
tak pak zkusit něco takového
<?
$xml->channel->item[0]->SHOPITEM;
?>
Záleží jaká je struktura xml dokumentu
Misha
Profil *
<SHOP>
  <SHOPITEM>
    <SKU>WAJ-BIA-SZF.S2DP</SKU>
    <PRODUCT>ROSSO kombinovaná skříň</PRODUCT>
    <DESCRIPTION>popis produktu</DESCRIPTION>
    <URL>http://www.website.cz/rosso-kombinovana-skrin-szf-s2dp</URL>
    <CATEGORYTEXT>Skříně, komody|Skříně s posuvnými dveřmi</CATEGORYTEXT>
    <IMGURL>http://www.website.cz/media/catalog/product/B/I/BIANCA-SZFS2DP.jpg</IMGURL>
    <ADDITIONAL_IMAGES>
      <IMGURL>http://www.website.cz/media/catalog/product/b/i/bianca-szf-s2dp-vnutro.jpg</IMGURL>
      <IMGURL>http://www.website.cz/media/catalog/product/B/I/BIANCA-OSW-4H1Z.jpg</IMGURL>
      <IMGURL>http://www.website.cz/media/catalog/product/B/I/BIANCA-vzorova-zostava.jpg</IMGURL>
      <IMGURL>http://www.website.cz/media/catalog/product/B/I/BIANCA-kombinacia.jpg</IMGURL>
    </ADDITIONAL_IMAGES>
    <PRICE>17330.5785</PRICE>
    <PRICE_VAT>20970</PRICE_VAT>
  </SHOPITEM>
</SHOP>
Taps
Profil
Misha:
zkus
<?
$xml->SHOP->SHOPITEM[0]->SKU;
?>
Misha
Profil *
Taps:
Tohle mi nevypíše nic. :(
Kcko
Profil
Misha:
tak před to dej echo a oba u toho přemýšlejte.
Misha
Profil *
Kcko:
echo mi tam samozřejmě nechybí. Prostě to neobsahuje žádnou hodnotu. Jediné co mi něco vypíše je ten můj první příklad, ale vypíše to pouze pokud je $i = 0; A pro jistotu dodám, že feed má hodnotu vyplněnou pro každou položku.
Misha
Profil *
Takže si s tím nikdo nevíte rady? Opravdu to musím celé projet přes foreach a teprve pak z toho vytáhnout jednu položku?
PostCC
Profil
Misha:
Při zápisu:

Echo $xml->SHOP->SHOPITEM[0]->SKU;

tam nemůže být to "SHOP", protože je to root element. Mělo by fungovat:

Echo $xml->SHOPITEM[0]->SKU;
Echo $xml->SHOPITEM[1]->SKU;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: