Autor | Zpráva | ||
---|---|---|---|
bagocina Profil |
#1 · Zasláno: 17. 6. 2012, 13:00:40
Pekný deň prajem
Na stránkach EÚ je slovník tovarov a služieb podľa tzv. CPV kódov. Tento celý slovník je dostupný vo viacerých jazykoch vo formáte .xml. Vybrať kód a názov v Slovenskom jazyku mi nerobí problém pomocou kódu: $xml = simplexml_load_file('data/cpv_2008.xml'); $i = 1; foreach($xml->CPV as $node) { echo "".$i++."<sub>)</sub> ".$node['CODE']."- ".$node->TEXT[20]."<br>"; } CPV kód nie je priradený len tak. Je tvorený podľa pravidiel: Prvé dve miesta určujú oddelenia (XX000000-Y); Prvé tri miesta určujú skupiny (XXX00000-Y); Prvé štyri miesta určujú triedy (XXXX0000-Y); Prvých päť miest určuje kategórie (XXXXX000-Y); Podľa týchto pravidiel by som potreboval spraviť select ako je na webe TU a taktiež nejaký strom, ktorý by mi zobrazil najprv najvyššie kategórie, po kliknutí na jednu z nich by sa rozbalili konkrétnejšie kategórie atď. No myslím, že ak budem vidieť hotový select, tak by som ten strom už nejak spackal. XML je dostupný na stránkach EÚ. Ďakujem veľmi pekne za pomoc. |
||
Jan Tvrdík Profil |
#2 · Zasláno: 17. 6. 2012, 14:03:46
Můžeš začít tím, že si ty data roztřídíš do asociativního pole.
$xml = simplexml_load_file('data/cpv_2008.xml'); $i = 1; foreach($xml->CPV as $node) { $oddeleni = substr($node['CODE'], 0, 2); $skupina = substr($node['CODE'], 2, 1); $trida = substr($node['CODE'], 3, 1); $kategorie = substr($node['CODE'], 4, 1); $nodes[$oddeleni][$skupina][$trida][$kategorie] = $node; } |
||
bagocina Profil |
Ďakujem za radu.
Nakoniec budem potrebovať spraviť iba strom. Ten som spravil pomocou kódu: $xml = simplexml_load_file('data/cpv_2008.xml'); foreach($xml->CPV as $node) { $oddelenie = substr($node['CODE'], 2, -2); $skupina1 = substr($node['CODE'], 2, 1); $skupina2 = substr($node['CODE'], 3, -2); $trieda1 = substr($node['CODE'], 3, 1); $trieda2 = substr($node['CODE'], 4, -2); $kategorie1 = substr($node['CODE'], 4, 1); $kategorie2 = substr($node['CODE'], 5, -2); if ($oddelenie == "000000") { echo "<a href=''>".$node->TEXT[20]." - ".$node['CODE']."</a><br>\n"; } if ($skupina1 !== "0" AND $skupina2 == "00000") { echo " <a href=''>".$node->TEXT[20]." - ".$node['CODE']."</a><br>\n"; echo "</div>"; } if ($trieda1 !== "0" AND $trieda2 == "0000") { echo " <a href=''>".$node->TEXT[20]." - ".$node['CODE']."</a><br>\n"; } if ($kategorie1 !== "0" AND $kategorie2 == "000") { echo " <a href=''>".$node->TEXT[20]." - ".$node['CODE']."</a><br>\n"; } } Len neviem ako vyriešiť rozklikávanie, ako to pri stromoch býva. Ďakujem za rady. |
||
Časová prodleva: 12 let
|
0