Dzień Dobry
Na wstępie napiszę że problem z którym się borykam jest bardzo trudny do rozgryzienia (oczywiście dla mnie)
Od kilku dni próbuje z pliku XML, zaimportować dane do bazy danych w JOOMLA! (dokładnie VirtueMart). Skrypt, który sobie ułożyłem działa, czyli importuje dane tam gdzie chcę, lecz nie do końca.
W załącznikach mają Państwo wygląd bazy danych (2 różnych które dotyczą problemu)
A teraz do rzeczy problem polega na tym że mój xml nie ma powiązania pomiędzy kategoriami głównymi a kategoriami mu podporządkowanymi czyli (menu drzewo);
Pierwsza baza ("virtuemart_categories_pl_pl") do której pierw importuje wszystkie kategorie, bez względu na to czy jest to "menu" czy "pod menu" nie posiada AutoI na polu ID. Do niej trafia tylko nazwa z pliku xml.
Natomiast nie wiem jak zrobić, coś takiego aby w moim pliku xml Kategorie główną przyporządkować kategorii podrzędnej.
<?php
$plik = simplexml_load_file('action.xml') or die ("Nie wczytno pliku Pamiętaj plik musi sięnzaywać action.xml");
include ('base.php');
//$con = mysql_connect('localhost', 'root', '');
//mysql_select_db('XML');
?>
<a href="index.php">Start</a> || <a href="menu.php">Import Kategori</a> || <a href="produkty.php">Import Produktów</a>
<?php
foreach($plik->GrupyTowarowe as $IdGrupy)
{ //wczytanie odpowiednich danych
foreach($IdGrupy->GrupaGlowna as $dalej){
$ID = '_ID';
$IdG = $dalej['id'];
$NaGt = $dalej['nazwa'];
foreach($dalej->PodGrupy->PodGrupa as $menu){
$IdMenu = $menu['id'];
$NazMenu = $menu['nazwa'];
$GG = $NaGt ."/". $NazMenu;
//wypisanie danych
echo "<table CELLPADDING=10 CELLSPACING=10 BORDER=1><tr>";
echo"<td>". $IdG ."</td>";
echo"<td>". $IdMenu."</td>";
echo"<td>". $GG."</td>";
echo "</tr></table>";
//wpis do bazy
$zapytanie = mysql_query("INSERT INTO `qom8d_virtuemart_categories_pl_pl`(`virtuemart_category_id`,`category_name`, `metadesc`) VALUES ('', '$GG', '$IdMenu')") or die (mysql_error());
$result = mysql_query($zapytanie);
}
}
}
?>
<GrupyTowarowe>
<GrupaGlowna id="GIP" nazwa="_Gadżety i Prezenty">
<PodGrupy>
<PodGrupa id="GIP-GAD" nazwa="Gadżety" />
<PodGrupa id="GIP-GRY" nazwa="Gry" />
<PodGrupa id="GIP-ZAB" nazwa="Zabawki" />
</PodGrupy>
</GrupaGlowna>
<GrupaGlowna id="MAT" nazwa="_Materiały reklamowe">
<PodGrupy>
<PodGrupa id="MAT-REK" nazwa="Materiały reklamowe" />
</PodGrupy>
</GrupaGlowna>
<GrupaGlowna id="AGA" nazwa="AGD - Akcesoria">
<PodGrupy>
<PodGrupa id="AGA-EKF" nazwa="Do ekspresów do kawy - filtry" />
<PodGrupa id="AGA-EKO" nazwa="Do ekspresów do kawy - odkamieniacze" />
<PodGrupa id="AGA-LAK" nazwa="Do lodówek - akcesoria" />
<PodGrupa id="AGA-ODW" nazwa="Do odkurzaczy - worki" />
<PodGrupa id="AGA-OKF" nazwa="Do okapów - filtry" />
</PodGrupy>
</GrupaGlowna>
</GrupyTowarowe>
Jak teraz zrobić tak aby Pod grupa trafiła do danej Grupy głównej. Może trochę to wyjaśnie :)
Tam gdzie jest w pliku xml nazwa wszystko to trafia do 1 bazy w category_name
, baza nie rozdaje sama nr więc nie wiem jak je dodać, potem musi byc tak w drugiej bzie że np
ID 234 = AGD - Akcesoria
ID 555 = Do ekspresów do kawy - filtry
ID 678 = Do odkurzaczy - worki
A w bazie nr 2
category_parent_id = 234
categopry_child_id = 555, 678 (to tylko tak aby było wizualnie wiadomo)
Jeśli ktoś zrozumiał o co tu namotałem to będę wdzięczny za pomoc.
Miłego Dnia
(od razu mówię że skrypt pisze dla siebie i mojego sklepu testowego nie pisze go mając na celu komercję!)