<?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 ) ) ) )