[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Оптимизация баз данных (XML + MySQL)
lord22
Здравствуйте.
Необходимо модифицировать XML файл (каталог товаров для интернет-магазина) под базу данных MySQL.
Кто с этим сталкивался, насколько это сложно, какой алгоритм действий вообще?



Спустя 10 минут, 50 секунд (14.06.2010 - 16:15) Basili4 написал(а):
Цитата (lord22 @ 14.06.2010 - 17:04)
Необходимо модифицировать XML файл

Ну как модифицировать файл ты читаешь файл парсишь его по полям и заносишь данные в таблицу

Спустя 10 минут, 52 секунды (14.06.2010 - 16:26) lord22 написал(а):
Это понятно, а если названия полей различаются?

Спустя 6 минут, 48 секунд (14.06.2010 - 16:33) Basili4 написал(а):
да и фиг наних ты же знаешт каое поле куда вносится вот парсь поле mama в поле таблициы papa и тд.

Спустя 7 минут, 3 секунды (14.06.2010 - 16:40) lord22 написал(а):
Я не очень хороший, мягко говоря специалист в MySQL и XML.
Если я не понимаю значения слова "Парсить", мне реально вообще самому это сделать? (скачал различные программы для работы с базами данных)..
Нужно, грубо говоря поменять структуру XML файла, подогнать его под имеющуюся базу MySQL

Спустя 12 минут, 10 секунд (14.06.2010 - 16:52) lord22 написал(а):
Хотя бы направьте в нужном направлении простыми словами..

Спустя 6 минут, 7 секунд (14.06.2010 - 16:58) Gabriel написал(а):
варианты:
1. перебить весь файл руками и далее закинут через утилиту прям в БД.
2. считать XML файл и взять нужные значения для нужных полей.
3. зайти суда http://phpexcel.codeplex.com/ скачать библиотеку.
3.1. прочитать документацию.
3.2. переделать структуру файла
3.3.1. после реструктуризации считать значения и затолкать в БД.
3.3.2. затолкать файл в БД используя утилиту.

Спустя 1 час, 5 минут, 7 секунд (14.06.2010 - 18:03) lord22 написал(а):
Цитата (Gabriel @ 14.06.2010 - 13:58)
варианты:
1. перебить весь файл руками и далее закинут через утилиту прям в БД.
2. считать XML файл и взять нужные значения для нужных полей.
3. зайти суда http://phpexcel.codeplex.com/ скачать библиотеку.
3.1. прочитать документацию.
3.2. переделать структуру файла
3.3.1. после реструктуризации считать значения и затолкать в БД.
3.3.2. затолкать файл в БД используя утилиту.

Библиотеку скачал, всё на английском :-( Что с этим делать? sad.gif

Спустя 3 минуты, 14 секунд (14.06.2010 - 18:06) Basili4 написал(а):

Спустя 48 секунд (14.06.2010 - 18:07) Basili4 написал(а):
шас солью почитаю скажу чего и как

Спустя 15 минут, 2 секунды (14.06.2010 - 18:22) Gabriel написал(а):
lord22
http://www.web-junior.net/sozdanie-excel-f...shhyu-phpexcel/
1. читать линк.
2. подтягивать англ (самому туго с ним но ничего не поделаеш либо учить либо учить)
3. юзать гугл.
ЗЫ. по линку расказывают о работе с екселем, думаю где-то на сайте есть и про XML.

Спустя 2 дня, 22 часа, 14 минут, 23 секунды (17.06.2010 - 16:37) lord22 написал(а):
Не нашел ответа к сожалению :-(
А может знает кто человека, способного за вознаграждение решить эту задачу?

Спустя 6 минут, 31 секунда (17.06.2010 - 16:43) Nikitian написал(а):
Если после 21:30 по мск, то я могу сделать

Спустя 1 день, 4 минуты, 31 секунда (18.06.2010 - 16:48) lord22 написал(а):
Цитата (Nikitian @ 17.06.2010 - 13:43)
Если после 21:30 по мск, то я могу сделать

В любое время...

Спустя 2 дня, 23 часа, 53 минуты, 51 секунда (21.06.2010 - 16:42) lord22 написал(а):
Цитата (lord22 @ 18.06.2010 - 13:48)
Цитата (Nikitian @ 17.06.2010 - 13:43)
Если после 21:30 по мск, то я могу сделать

В любое время...

На какой адрес эл. почты высылать файлы для более детального ознакомления?

Спустя 7 дней, 4 часа, 42 минуты, 55 секунд (28.06.2010 - 21:24) linker написал(а):
пример XML-файла

<?xml version="1.0'?>
<Records>
<Id>1</Id>
<Name>Record number 1</Name>
</Records>


Допустим есть таблица c полями

id_record (int)
name_record (varchar[100])

Есть скрипт:
<?php
$TransTable = array('Id' => 'id_record', 'Name' => 'name_record');
$Xml = new DomDocument('1.0');
$Xml->load('records.xml');
$Result = array();
foreach($Xml->firstChild->childNodes as $Node)
{
if ($Node->nodeType == XML_ELEMENT_NODE && isset($TransTable[$Node->nodeName]))
{
$Result[$TransTable[$Node->nodeName]] = "'" . $Node->nodeValue . "'";
}
}


mysql_query("insert into my_table (" . join(',', array_keys($Result)) . ") values (" . join(',', $Result) . ")", $link);
?>

Думаю основной смысл понятен.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.