Autor | Zpráva | ||
---|---|---|---|
in. Profil * |
#1 · Zasláno: 9. 3. 2012, 16:18:51
Dobrý den, potřeboval bych poradit ohledně srovnání databáze a feedu.
Napsal jsem si tento script: <?php $xml = simplexml_load_file('xml_feed.xml'); // chci najit produkt který bude mít ID 123 $hledam_ID = 123; //prohledavam xml feed foreach ($xml->product as $item){ // jestli ID existuje tak ho vypisu if ($item->id == $hledam_ID){ echo $item->id.'<br>' .$item->code.'<br>' .$item->name.'<br>' .round($item->priceVOCWithVat).'<br>' .round($item->priceMOCWithVat).'<br>'; } exit; } ?> Asi to neni moc ok, ale ucel to splni a funguje. Mám ale otázku... co když chci najít víc produktů než jeden? Třeba ID 123, 345 a 678 ? Zkoušel jsem to přes array() ale nějak se to nepovedlo... Díky za rady, nejspíš to bude prkotina:) |
||
Keeehi Profil |
#2 · Zasláno: 9. 3. 2012, 16:30:58
$hledam_ID = array(123,345,678); ... if (in_array($item->id,$hledam_ID)){ |
||
in. Profil * |
#3 · Zasláno: 9. 3. 2012, 16:59:41
zkusil jsem to takhle:
<?php $xml = simplexml_load_file('xml_feed.xml'); // chci najit produkty které bude mít ID 123, 345, 678 $hledam_ID = array(123, 345, 678); //prohledavam xml feed foreach ($xml->product as $item){ // jestli ID existuje tak ho vypisu if (in_array($item->id,$hledam_ID)){ echo $item->id.'<br>' .$item->code.'<br>' .$item->name.'<br>' .round($item->priceVOCWithVat).'<br>' .round($item->priceMOCWithVat).'<br>'; } exit; } ?> Najde to jen první číslo ID123 další už ne i když ve feedu jsou. V případě, že oddělám to ID123 nenajde to nic. Nacte to jakoby jen první položku z feedu a tu porovna jestli je ok nebo ne.. nebude chyba ještě tady? foreach ($xml->product as $item){ |
||
Keeehi Profil |
in.:
„nebude chyba ještě tady?“ Ne, chyba je v exit; Předtím jsem si toho nevšiml. Stačí to smazat.
|
||
in. Profil * |
#5 · Zasláno: 9. 3. 2012, 17:25:13
Perfektní:) funguje, díky moc.
|
||
Časová prodleva: 12 let
|
0