| 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: 14 let
|
|||
0