@Tvinky_hao
Начинающий веб-разработчик

Вывести данные в таблицу в phpmyadmin?

Два файла xml. Хочу спарсить их в одну таблицу (phpmyadmin). Отдельно разобрался, а вместе не сходиться.
код к фильмам
<?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>";

?>

spoiler
5f23d9282f311866553905.png
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
В mysql есть встроенный импорт из xml
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы