Почему когда стоят два подряд xml отрабатывает в браузере только один?
0
Ниже код. Отрабатывает в браузере только сериалы.
<?php
function insert($name, $desc, $year, $category_id, $rating, $poster) {
$mysqli = new mysqli('localhost','root','','kinomonster');
if(mysqli_connect_errno()) {
print_f("Cоединение не установлено", mysqli_connect_error());
exit();
}
$mysqli->set_charset('utf8');
$query = "INSERT INTO movie VALUES(null, '$name', '$desc', '$year', NOW(), '$category_id', '$rating', '$poster')";
$result = false;
if ($mysqli->query($query)) {
$result = true;
}
return $result;
}
$xml=simplexml_load_file("xml/movies.xml") or die("Cannot create object");
$xml=simplexml_load_file("xml/serials.xml") or die("Cannot create object");
//echo count($xml);//
$title = null;
$title_orign = null;
$post = null;
$rating = null;
$year = null;
foreach ($xml as $movie_key => $movie) {
$title = $movie->title_russian;
$title_orign = $movie->title_original;
$year = $movie->year;
foreach ($movie->poster->big->attributes() as $poster_key => $poster) {
$post = $poster;
}
if($movie->imdb) {
$rating = $movie->imdb->attributes()['rating'];
} else {
$rating = null;
}
insert($title, $title_orign, $year, 1, $rating, $post);
}
echo "<pre>";
print_r($xml);
echo "</pre>";
?>
1 ответов
0
Вот причина из-за которой записывает в базу данных только сериалы
$xml=simplexml_load_file("xml/movies.xml") or die("Cannot create object");
$xml=simplexml_load_file("xml/serials.xml") or die("Cannot create object");
Переменная $xml для movie называется точно также как и для serials. Соответственно, последняя объявленная переменная с одинаковым называнием, будет главной, все выше переменные с таким же именем, будут игнорироваться.
Нужно назвать $xml для одного файла и $xml2 для другого xml файла, или вообще $xml_movies и $xml_serials, чтобы понятнее было.