Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyciagnieciem danych
Forum PHP.pl > Forum > PHP
new_user
Witam

Mam taki kod php.
  1. <?php
  2. $katalog = simplexml_load_file("1.xml");
  3. $dane = "v_products_model\tv_products_image\tv_products_name\tv_products_description_2\tv_products_warranty\tv_products_url_2\tv_specials_price\tv_specials_date_avail\tv_specials_expires_date\tv_products_price\tv_products_weight\tv_date_avail\tv_date_added\tv_products_quantity\tv_products_manufacturers_name\tv_products_categories_name_1\tv_products_categories_name_2\tv_products_categories_name_3\tv_products_categories_name_4\tv_products_categories_name_5\tv_products_categories_name_6\tv_products_categories_name_7\tv_tax_class_title\tv_status\tEOREOR";
  4.  
  5. // Produkty
  6.  
  7.    foreach ($katalog->produkty as $produkty) {
  8.    foreach ($produkty->produkt as $produkt) {
  9.        $produktatr = $produkt->attributes();
  10.        $dane .= $produktatr[id]."\t";
  11.        foreach ($produkt->zdjecia as $zdjecia) {
  12.        $zdjecieatr = $zdjecia->zdjecie[0]->attributes();
  13.        $dane .= $zdjecieatr[plik]."\t";            
  14.        }
  15.        $dane .= $produktatr[nazwa]."\t";        
  16.        foreach ($produkt->technika as $technika) {
  17.        $dane .= "<table><tbody>";
  18.        foreach ($technika->parametr as $parametr) {    
  19.            $paramatr = $parametr->attributes();
  20.            $dane .= "<tr><td>";
  21.            $dane .= str_replace("\t"," ", $paramatr[nazwa].": ");
  22.            $dane .= "</td><td>";
  23.            $dane .= str_replace("\t"," ", $paramatr[opis]."\t");
  24.                $dane .= "</td></tr>";        
  25.        }
  26.            $dane .= "</tbody></table>\t";        
  27.        }
  28.        $dane .= $produktatr[gwarancja]."\t";        
  29.        $dane .= "\t";        
  30.        $dane .= "\t";
  31.        $dane .= "\t";
  32.        $dane .= "\t";
  33.        $dane .= $produktatr[cena_netto]."\t";
  34.        $dane .= "\t";
  35.        $dane .= "\t";
  36.        $dane .= "\t";
  37.        $dane .= "\t";
  38.        $dane .= $produktatr[producent]."\t";
  39.        $dane .= $produktatr[grupa]."\t";
  40.        $dane .= "\t";        
  41.        $dane .= "\t";
  42.        $dane .= "\t";
  43.            $dane .= "\t";
  44.        $dane .= "\t";
  45.        $dane .= "\t";
  46.        $dane .= "\t";
  47.        $dane .= "1\t";
  48.        $dane .= "EOREOR\n";
  49.    }
  50.    }    
  51. file_put_contents("plik.txt", $dane);
  52. ?>

i taka skladnie pliku xml.
  1. <?xml version="1.0" encoding="utf-8"?><katalog data="2008-08-20 09:00"><GrupyTowarowe>
  2. <GrupaGlowna id="MAT" nazwa="_Materiały reklamowe">
  3. <PodGrupy>
  4. <PodGrupa id="MAT-REK" nazwa="Materiały reklamowe" />
  5. </PodGrupy>
  6. </GrupaGlowna>
  7. <GrupaGlowna id="AKC" nazwa="Akcesoria komputerowe">
  8. <PodGrupy>
  9. <PodGrupa id="AKC-ADA" nazwa="Adaptery, przejściówki" />
  10. <PodGrupa id="AKC-ABK" nazwa="Akcesoria biurowo - komputerowe" />
  11. <PodGrupa id="AKC-USB" nazwa="Obudowy na HDD i ODD (USB,FireWire,eSATA…)" />
  12. <PodGrupa id="AKC-PDR" nazwa="Przełączniki drukarkowe" />
  13. <PodGrupa id="AKC-PKV" nazwa="Przełączniki KVM" />
  14. <PodGrupa id="AKC-KKV" nazwa="Przełączniki KVM (kable)" />
  15. <PodGrupa id="AKC-RHD" nazwa="Ramki HDD" />
  16. <PodGrupa id="AKC-SPL" nazwa="Splittery (rodzielacze sygnału)" />
  17. </PodGrupy>
  18. </GrupaGlowna>
  19. <GrupaGlowna id="ARM" nazwa="Artykuły motoryzacyjne">
  20. <PodGrupy>
  21. <PodGrupa id="ARM-ADZ" nazwa="Adaptery zasilające" />
  22. <PodGrupa id="ARM-AKC" nazwa="Akcesoria samochodowe" />
  23. <PodGrupa id="ARM-ACZ" nazwa="Artykuły czyszczące" />
  24. <PodGrupa id="ARM-MPA" nazwa="Odtwarzacze MP3 (akcesoria)" />
  25. <PodGrupa id="ARM-ZAP" nazwa="Zapachy samochodowe" />
  26. </PodGrupy>
  27. </GrupaGlowna>
  28. <GrupaGlowna id="ARP" nazwa="Artykuły pakowe">
  29. <PodGrupy>
  30. <PodGrupa id="ARP-FOL" nazwa="Folie pakowe" />
  31. <PodGrupa id="ARP-SZN" nazwa="Sznurki pakowe" />
  32. <PodGrupa id="ARP-TAS" nazwa="Taśmy pakowe" />
  33. </PodGrupy>
  34. </GrupaGlowna>
  35. <GrupaGlowna id="CHL" nazwa="Chłodzenie">
  36. <PodGrupy>
  37. <PodGrupa id="CHL-AKC" nazwa="Chłodzenie - akcesoria" />
  38. <PodGrupa id="CHL-AKW" nazwa="Chłodzenie - akcesoria do chłodzenia wodnego" />
  39. <PodGrupa id="CHL-WEN" nazwa="Chłodzenie - wentylatory" />
  40. <PodGrupa id="CHL-ZES" nazwa="Chłodzenie - zestawy" />
  41. <PodGrupa id="CHL-ZEW" nazwa="Chłodzenie - zestawy chłodzenia wodnego" />
  42. <PodGrupa id="CHL-CHI" nazwa="Chłodzenie chipsetu" />
  43. <PodGrupa id="CHL-S47" nazwa="Chłodzenie CPU S-478" />
  44. <PodGrupa id="CHL-S75" nazwa="Chłodzenie CPU S-754" />
  45. <PodGrupa id="CHL-S77" nazwa="Chłodzenie CPU S-775" />
  46. <PodGrupa id="CHL-S93" nazwa="Chłodzenie CPU S-939" />
  47. <PodGrupa id="CHL-S94" nazwa="Chłodzenie CPU S-940" />
  48. <PodGrupa id="CHL-SOA" nazwa="Chłodzenie CPU S-A" />
  49. <PodGrupa id="CHL-SA2" nazwa="Chłodzenie CPU S-AM2" />
  50. <PodGrupa id="CHL-HDD" nazwa="Chłodzenie HDD" />
  51. <PodGrupa id="CHL-RAM" nazwa="Chłodzenie RAM" />
  52. <PodGrupa id="CHL-VGA" nazwa="Chłodzenie VGA" />
  53. </PodGrupy>
  54. </GrupaGlowna>
  55. </GrupyTowarowe>
  56. <producenci>
  57. <producent id="1CC" nazwa="1C Company" />
  58. <producent id="2KG" nazwa="2K Games" />
  59. <producent id="3CO" nazwa="3COM" />
  60. <producent id="3DC" nazwa="3Dconnexion" />
  61. <producent id="3M-" nazwa="3M" />
  62. <producent id="3WA" nazwa="3Ware" />
  63. <producent id="4WO" nazwa="4World" />
  64. <producent id="A4T" nazwa="A4 TECH" />
  65. <producent id="ABB" nazwa="ABBYY" />
  66. <producent id="ABI" nazwa="Abit" />
  67. </producenci>
  68. <produkty>
  69. <produkt id="AGDAEGSUS0002" nazwa="Suszarka do włosów AEG Foen Family" producent="AEG" grupa="AGD-SUS" gwarancja="F024M" cena_netto="41,00" dostepny="0" dostepny_kra="0" dostepny_kat="0" data="2008-06-19"  na_zamowienie="N"  oferta_specjalna="N"  ostatnia_zmiana="2008-06-18">
  70. <zdjecia>
  71. <zdjecie plik="/Pictures/AGD/SUS/AGDAEGSUS0002/1.jpg" domyslne="1" data="2008-06-19" />
  72. </zdjecia>
  73. <technika>
  74. <parametr nazwa="Kod Producenta" opis="AEG Foen Family" jm="" typ="varchar" />
  75. </technika>
  76. </produkt>
  77. <produkt id="AGDAMIKMW0001" nazwa="Kuchenka Mikrofalowa AMICA AMM17M70 (biała)" producent="AMI" grupa="AGD-KMW" gwarancja="F024M" cena_netto="174,00" dostepny="0" dostepny_kra="0" dostepny_kat="0" data="1990-01-01"  na_zamowienie="T"  oferta_specjalna="N"  ostatnia_zmiana="2007-01-06">
  78. <zdjecia>
  79. <zdjecie plik="/Pictures/AGD/KMW/AGDAMIKMW0001/1.jpg" domyslne="1" data="2007-03-08" />
  80. </zdjecia>
  81. <technika>
  82. <parametr nazwa="Kod Producenta" opis="AMM17M70" jm="" typ="varchar" />
  83. <parametr nazwa="Pojemność" opis="17" jm="l" typ="float" />
  84. <parametr nazwa="Talerz obrotowy" opis="True" jm="" typ="bit" />
  85. <parametr nazwa="Średnica talerza" opis="245" jm="mm" typ="int" />
  86. <parametr nazwa="Programator" opis="Mechaniczny" jm="" typ="varchar" />
  87. <parametr nazwa="Regulacja mocy" opis="True" jm="" typ="bit" />
  88. <parametr nazwa="Zestaw automatycznych programów" opis="Brak" jm="" typ="varchar" />
  89. <parametr nazwa="Funkcja COMBI" opis="Brak" jm="" typ="varchar" />
  90. <parametr nazwa="Funkcja  rozmrażania" opis="True" jm="" typ="bit" />
  91. <parametr nazwa="Sygnał dźwiękowy zakończenia pracy" opis="True" jm="" typ="bit" />
  92. <parametr nazwa="Moc mikrofal" opis="700" jm="W" typ="float" />
  93. <parametr nazwa="Moc całkowita" opis="1150" jm="W" typ="float" />
  94. <parametr nazwa="Zasilanie" opis="AC 220-240 V" jm="" typ="varchar" />
  95. <parametr nazwa="Kolor" opis="Biały" jm="" typ="varchar" />
  96. <parametr nazwa="Wykończenie powierzchni zewnętrznych" opis="Emalia ceramiczna" jm="" typ="varchar" />
  97. <parametr nazwa="Wykończenie powierzchni komory" opis="Emalia ceramiczna" jm="" typ="varchar" />
  98. <parametr nazwa="Szerokość obudowy" opis="461" jm="mm" typ="int" />
  99. <parametr nazwa="Głębokość obudowy" opis="357" jm="mm" typ="int" />
  100. <parametr nazwa="Wysokość obudowy" opis="280" jm="mm" typ="int" />
  101. <parametr nazwa="Ciężar" opis="11,4" jm="kg" typ="float" />
  102. <parametr nazwa="Wyposażenie" opis="Talerz żaroodporny" jm="" typ="varchar" />
  103. <parametr nazwa="Informacje dodatkowe" opis="5 poziomów mocy, Multi Waves System, Zegar mechaniczny 35 min" jm="" typ="varchar" />
  104. <parametr nazwa="Certyfikaty" opis="CE" jm="" typ="varchar" />
  105. <parametr nazwa="www" opis="http://www.amica.com.pl" jm="www" typ="varchar" />
  106. </technika>
  107. </produkt>
  108. </produkty>
  109. </katalog>


i chodzi o to ze chciałbym do pliku wyrzucić nazwe producenta danego produktu i niestety nie wiem jak to wyciagnac to samo tyczy sie kategori chcialbym wyrzucic do pliku nazwe kategori.
erix
  1. <?php
  2. [nazwa]
  3. ?>

Na oko, nie używasz odpowiednich kluczy tablic.

A tak naprawdę, to nie wiem, co jest grane - bo nie opisałeś, co się dzieje, co wypluwa bieżący skrypt, podałeś mało informacji. Na gotowca nie licz. tongue.gif
new_user
Nie licze na gotowca tylko na wskazowke.
Chodzi o to ze skrypt wypluwa mi wszsytko tak jak potrzebuje jednak nie mogę pobrać nazwy np kategori.
w xml sa tekie pozycje
  1. <produkt id="AGDAEGSUS0002" nazwa="Suszarka do włosów AEG Foen Family" producent="AEG" grupa="AGD-SUS" gwarancja="F024M" cena_netto="41,00" dostepny="0" dostepny_kra="0" dostepny_kat="0" data="2008-06-19"  na_zamowienie="N"  oferta_specjalna="N"  ostatnia_zmiana="2008-06-18">

i jest tu cos takiego jak grupa="AGD-SUS" jest to skrot natomiast w tym samym xml jest tez cos takiego:
  1. <PodGrupa id="AGD-SUS" nazwa="Adaptery, przejściówki" />

nie moge powiazac tego
grupa="AGD-SUS" z tym id="AGD-SUS" w wynikach chce uzyskac nie kod z produkt - grupa tylko nazwe tego kodu z podgrupy - id
erix
No to na moje zdanie musiałbyś wepchnąć wszystkie kategorie do jakiejś tablicy i z niej wyciągać nazwy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.