Witam. Posiadam taki plik xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<videodb>
<movie>
<title>8 Mila</title>
<year>2002</year>
<country>Niemcy</country>
<country>USA</country>
</movie>
<movie>
<title>9</title>
<year>2009</year>
<country>USA</country>
</movie>
<movie>
<title>Aleksander</title>
<year>2004</year>
<country>Francja</country>
<country>Holandia</country>
<country>Niemcy</country>
<country>USA</country>
<country>Wielka Brytania</country>
<country>Włochy</country>
</movie>
</videodb>
i taki kod php:
<?php
$xml = simplexml_load_file('videodb.xml');
$count = 1;
foreach ($xml->movie as $val)
{
mysql_query ('INSERT INTO movie (`id`, `title`, `year`, `country`) VALUES ("'.$count.'", "'.$val->title.'", "'.$val->year.'", "'.$val->country.'");'); $count++;
}
?>
Chciałbym aby do pola country w bazie danych dodane zostały wszystkie kraje odzielone np. "/". Do tej pory dodaje mi tylko pierwszy tag a wszystkie powtórzone są omijane.
Tak wygląda cala tablica:
SimpleXMLElement Object
(
[movie] => Array
(
[0] => SimpleXMLElement Object
(
[title] => 8 Mila
[year] => 2002
[country] => Array
(
[0] => Niemcy
[1] => USA
)
)
[1] => SimpleXMLElement Object
(
[title] => 9
[year] => 2009
[country] => USA
)
[2] => SimpleXMLElement Object
(
[title] => Aleksander
[year] => 2004
[country] => Array
(
[0] => Francja
[1] => Holandia
[2] => Niemcy
[3] => USA
[4] => Wielka Brytania
[5] => Włochy
)
)
)
)
Ten post edytował Regss 7.11.2011, 22:01:21