Answer the question
In order to leave comments, you need to log in
Output data to table in phpmyadmin?
Two xml files. I want to parse them into one table (phpmyadmin). Separately figured out, but together do not converge.
<?php
//соединяем две таблицы
include 'indexserials.php';
// Создаем функцию которая вставляет данные в БД
function insert($name, $desc, $year, $rating, $poster, $category_id) {
//подключаемся к БД
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');
// Проверка на ошибки
if(mysqli_connect_errno()) {
print_f("Соединение не установлено", mysqli_connect_errno());
exit();
}
// Устанавливаем кодировку
$mysqli->set_charset('utf8');
// Запрос
$query = "INSERT INTO movie VALUES(null, '$name', '$desc', '$year', '$rating', '$poster', Now(), '$category_id')";
$result = false;
//Делаем проверку
if($mysqli->query($query) or die($mysqli->error)) {
$result = true;
}
//Возвращаем результат
return $result;
}
// Создаем переменную где и подключаем ее к xml и превращаем в многомерный массив
$xml = simplexml_load_file("xml_files/movies.xml") or die("Error: cannot create object");
//echo count($xml);
//Создаем переменные чтобы было их подставлять для Insert в легкой форме
$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 так как у некоторых фильмов нет рейтинга
if($movie->imdb) {
$rating = $movie->imdb->attributes()['rating'];
} else {
$rating = null;
}
insert($title, $title_orign, $year, $rating, $post, 1);
}
echo "<pre>";
print_r($xml);
echo "</pre>";
?>
<?php
// Создаем функцию которая вставляет данные в БД
function insert ($name, $desc, $year, $rating, $poster, $category_id) {
//подключаемся к БД
$mysqli = new mysqli('localhost', 'root', '', 'kinomonster');
// Проверка на ошибки
if(mysqli_connect_errno()) {
print_f("Соединение не установлено", mysqli_connect_errno());
exit();
}
// Устанавливаем кодировку
$mysqli->set_charset('utf8');
// Запрос
$query = "INSERT INTO movie VALUES(null, '$name', '$desc', '$year', '$rating', '$poster', Now(), '$category_id')";
$result = false;
//Делаем проверку
if($mysqli->query($query) or die($mysqli->error)) {
$result = true;
}
//Возвращаем результат
return $result;
}
// Создаем переменную, для фильмов где и подключаем ее к xml и превращаем в многомерный массив
$xml_films = simplexml_load_file("xml_files/movies.xml") or die("Error: cannot create object");
//Создаем переменные чтобы было их подставлять для Insert в легкой форме
$title = null;
$title_orign = null;
$post = null;
$rating = null;
$year = null;
// Делаем цикл для того, чтобы получить постер
foreach ($xml_films 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 так как у некоторых фильмов нет рейтинга
if($movie->imdb) {
$rating = $movie->imdb->attributes()['rating'];
} else {
$rating = null;
}
insert($title, $title_orign, $year, $rating, $post, 1);
}
// Создаем переменную для сериалов где и подключаем ее к xml и превращаем в многомерный массив
$xml_serials = simplexml_load_file("xml_files/serials.xml") or die("Error: cannot create object");
//echo count($xml);
//Создаем переменные чтобы было их подставлять для Insert в легкой форме
$title = null;
$title_orign = null;
$post = null;
$rating = null;
$year = null;
// Делаем цикл для того, чтобы получить постер
foreach ($xml_serials 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 так как у некоторых фильмов нет рейтинга
if($movie->imdb) {
$rating = $movie->imdb->attributes()['rating'];
} else {
$rating = null;
}
insert($title, $title_orign, $year, $rating, $post, 2);
}
echo "<pre>";
print_r($xml_films);
echo "</pre>";
echo "<pre>";
print_r($xml_serials);
echo "</pre>";
?>
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question