Autor | Zpráva | ||
---|---|---|---|
Komlop Profil * |
#1 · Zasláno: 8. 11. 2012, 11:11:06
Zdravím,
mám problém se zpracování xml pomocí data, zde je xml: <PRVNI> <DRUHA> <DAY date="05.11.2012" day="pondel�"> <PRODUKT> <CENA>50</CENA> <NAZEV>NAZEV1</NAZEV> </PRODUKT> </DAY> <DAY date="06.11.2012" day="pondelí"> <PRODUKT> <CENA>60</CENA> <NAZEV>NAZEV2</NAZEV> </PRODUKT> </DAY> </DRUHA> </PRVNI> <?php $datum = Date("d.m.Y", Time()); $xml=simplexml_load_file("http://www.web.cz/soubor.xml"); $index = 1; foreach ($xml->PRVNI->DRUHA->DAY->PRODUKT as $item){ if($index > 50){ break; } $index++; $cena = $item->CENA; $nazev = $item->NAZEV; } echo "vypis:".$cena." - ".$nazev."<br>"; ?> Ted jak mám udělat, aby se mi vypsal produkt na 06.11.2012? PS: xml není mé a nemohu ho měnit, můžu měnit pouze php MOc prosim o pomoc :) |
||
Prochy Profil |
#2 · Zasláno: 8. 11. 2012, 11:22:19
SimpleXMLElement::attributes $datum = Date("d.m.Y"); , nemusíš tam za to psát to Time().
A tím získáš hodnotu date, a poté už to snad zvládneš. |
||
Komlop Profil * |
#3 · Zasláno: 8. 11. 2012, 11:24:45
Prochy:
Datum dokážu vypsat, ale nevim, jak to mám porovnat s tím atributem, můžeš mi to napsat na příkladu pls? |
||
Prochy Profil |
Musíš první procházet foreachem položku day, kde potom můžeš porovnat datumy.
Asi nějak takto by to mělo vypadat (nemohl sem to odzkoušet, tak si nejsem stopro jistý): $xml=simplexml_load_file("http://www.web.cz/soubor.xml"); $index = 1; foreach ($xml->PRVNI->DRUHA->DAY as $day){ if($day->attributes()->date==Date("d.m.Y")){ foreach($day->PRODUKT as $item){ $index++; $cena = $item->CENA; $nazev = $item->NAZEV; } break; } } echo "vypis:".$cena." - ".$nazev."<br>"; |
||
Komlop Profil * |
#5 · Zasláno: 8. 11. 2012, 12:07:21
funguje, moc díky :)
|
||
Časová prodleva: 11 let
|
0