3
2

Не получается вывести данные из таблицы в файл txt. Д/З урока 8.4. 

<?php

function insert($name, $descriptions, $year, $rating, $poster, $category_id)
{
	$mysqli = new mysqli('localhost', 'root', '', 'ivoditel');
	if (mysqli_connect_errno()) {
		print_f('Соединение не установлено');
		exit();
	}
	$mysqli->set_charset('utf8');

	$query = "INSERT INTO serials values(null, '$name', '$descriptions', '$year', '$rating', '$poster', Now(), '$category_id')";
	$result=false;

	if ($mysqli->query($query)) {
		$result=true;
	}
	return $result;
	}



$xml = simplexml_load_file("xml_files/serials.xml") or die("Error. Cannot create object");

$title = null;
$title_russian = null;
$post = null;
$rating = null;
$year = null;


foreach ($xml as $serial_key => $serial) {
	$title_russian = $serial->title_russian;
	$title = $serial->title_original;
	$year = $serial->year;

	foreach ($serial->poster->big->attributes() as $poster_key => $poster) {
		$post = $poster;
	}
	if ($serial->imdb) {
		$rating=$serial->imdb->attributes()['rating'];	
	} else {
		$rating = null;
	}

	insert($title, $title_russian, $year, $rating, $post, 2);

}


$myText = $mysqli->query('select * FROM serials');
$file = fopen('test.txt', 'w');
fwrite($file, $myText);
fclose($file);
readfile('test.txt');

echo "<pre>";
print_r($xml);
echo "</pre>";
?>

Антон Щербинин
4 years ago






Пробовала разобраться в предыдущих кодах. Запуталась ))) и внимательно пересмотрела пару уроков. Получилась такая версия )) :

// Занесём в базу данных все сериалы

$xml = simplexml_load_file("xml_files/serials.xml") or die("Error: Cannot create object");

//Узнаем, сколько всего фильмов в нашем массиве: функция count считает кол-во строк в массиве
echo "Всего сериалов: ".count($xml).'<br>';

// Выведем описание Сериалов
$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) {
// echo $poster.'<br>';
$post = $poster;
}

if($movie->imdb) {
$rating = $movie->imdb->attributes()['rating'];
} else {
$rating = null;
}

insert($title, $title_orign, $year, $rating, $post, 2);

if($result_f = true) {
// Дублируем записи в лого-файл
$myText = " /// Данные добавлены - ".date('m-l H:i:s').": ".$title."/".$title_orign."/".$year."/".$rating."/".$post."/1";
fwrite($file, $myText);
}else{
$myText = " /// Ошибка добавления-".date('m-l H:i:s');
fwrite($file, $myText);
}
}

// Закрываем текстовый лого-файл
fclose($file);

// Вывод массива для проверки
echo "<pre>"; //Для красивого вывода массива
print_r($xml);
echo "</pre>";

Это последняя 1/3 кода из урокапро парсинг

Рузанова Ольга
2 years ago

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;
}

$check = $mysqli->query("SELECT `name` FROM `films` WHERE `name` = '". $title ."'");

if(count(mysqli_fetch_assoc($check)) == 0) {
// insert($title, $title_orign, $year, $rating, $post, 1);
}

}

$check_insert = $mysqli->query('SELECT name FROM films');

if(count(mysqli_fetch_assoc($check_insert)) !== 0) {
$myText = "-Данные добавлены-".date('m-l H:i:s');
$file = fopen("logs.txt", "w");
fwrite($file, $myText);
fclose($file);
echo "Данные добавлены";
}else {
$myText = "-Ошибка добавления-".date('m-l H:i:s');
$file = fopen("logs.txt", "w");
fwrite($file, $myText);
fclose($file);
echo "Данные не добавлены";
}


$mysqli->close();

Сергей Жиглинский
3 years ago

2 ответов