Как загнать xml в mysql базу?

Статус
В этой теме нельзя размещать новые ответы.

web-investor

Постоялец
Регистрация
19 Окт 2007
Сообщения
504
Реакции
113
Здравствуйте!

Подскажите, пожалуйста, как можно готовый каталог товаров в xml загнать в mysql базу?
В общем нужно из xml доставать "название товара", "описание", "id товара" (должно совпадать с именем изображения).

xml база во вложении. Подскажите, как это сделать на php.
 

Вложения

  • 28415.rar
    36,8 KB · Просмотры: 11
Блин, может есть какие-нибудь материалы на русском языке?
 
Вот готовое решение по добавлению информации в БД, но для начала необходимо xml файл преобразовать в "csv файл"
1Файл с формой для выбора csv файла:
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Импорт данных из CSV файла в базу MySQL</title>
</head>
<body>
<form action="goto.php" method="post" enctype="multipart/form-data">
<label>Выберите файл для импорта:</label><br>
<input name="file" type="file" size="50"><br>
<input name="Load" type="submit" value="Load">
</form>
</body>
</html>
2 файл, который добавляет данные в БД:
PHP:
<?php
include ("addition/database.php"); //соединяемся с БД
$url = $_FILES["file"]["name"];
echo 'Запись из файла: <b>'.$url.'</b><br>'; // Имя файла
$file_exp = explode(".", $_FILES["file"]["name"]);
if ($file_exp[1] != "csv") die("Неправильный формат файла."); // Допустимы файлы только с расширением csv
 copy($_FILES["file"]["tmp_name"],"/usr/home/hosting/htdocs/price/".$_FILES["file"]["name"]); // сохраняем файл в папку price? указать свой путь и папку
$handle = fopen("price/".$url, "r"); // Файл csv открываем из папки price
while ($data = fgetcsv($handle, 1000, ";")) { 
				$id_product = $data[3];
				$result = mysql_query("SELECT id_product FROM product WHERE id_product='$id_product'",$db); // проверяем если в БД уже есть продукт с таким id продукта (точно такой же продукт) то не заносим в БД, можно проверять по другим данным измените на свои. 
				$row = mysql_fetch_array($result);
				if(!$row)
				{
$sql = mysql_query ("INSERT INTO product (`cat`, `subcat`, `brand`, `id_product`, `code_manufacture`, `title`, `price`) VALUE ('$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]', '$data[5]', '$data[6]')"); // Всё что в запросе, меняем на свои данные
				}
}
echo "Загрузка прошла успешно!<br>"; 
?>
 
Здравствуйте!
Подскажите, пожалуйста, как можно готовый каталог товаров в xml загнать в mysql базу?
В общем нужно из xml доставать "название товара", "описание", "id товара" (должно совпадать с именем изображения).
xml база во вложении. Подскажите, как это сделать на php.
Это делается очень просто, для начала нужно найти готовый/написать простенький xml парсер, лучше конечно написать свой. После парсинга пишешь все в базу.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху