PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (21): « 1 2 [3] 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 310
dropoff Отправлено: 29 Ноября, 2014 - 14:09:17 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
ага, уже изменил.
dropoff Отправлено: 29 Ноября, 2014 - 14:03:34 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
а. все. что-то затупил.

Да, все работает, разбивает по файлам как нужно.
Спасибо большое за помощь!
dropoff Отправлено: 29 Ноября, 2014 - 13:40:15 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
Спасибо.
Только возник вопрос. Мне $xmlString как получить из XMLReader ?
dropoff Отправлено: 29 Ноября, 2014 - 11:27:03 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
разобрался.

подскажите последнее. как правильно в while мне отсчитать 100 элементов массива , чтобы записать в файл.
точнее как правильно условие составить, а то чет у меня пишет больше чем нужно.
dropoff Отправлено: 28 Ноября, 2014 - 16:50:45 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
DeepVarvar пишет:
получить через xpath интересующие корневые узлы блоков

если честно, не очень понял как это сделать.
dropoff Отправлено: 27 Ноября, 2014 - 23:19:54 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
DeepVarvar пишет:
Первичный экспорт товаров не должен включать в себя полный функционал управления, фильтрации и пр

ну это понятно. я почему и хочу загонять в БД, во временную таблицу.

что-то я туплю малость видимо.
каким образом по нужному количеству блоков забивать в файл?
накодил для обработки примерно следующее
PHP:
скопировать код в буфер обмена
  1.         public function myAnySuperMethod($file)
  2.         {
  3.                 // какие блоки вытаскиваем
  4.                 $type = 'product';
  5.  
  6.                 $xml_reader = XMLReader::open($file);
  7.  
  8.                 while ($xml_reader->read() && $xml_reader->name != $type);
  9.  
  10.                 $xml = array();
  11.                 while ($xml_reader->name == $type)
  12.                 {
  13.                         if ($type == 'product')
  14.                         {
  15.                                 $xml[] = simplexml_load_string($xml_reader->readOuterXML());
  16.                         }
  17.  
  18.                         $xml_reader->next($type);
  19.                 }
  20.  
  21.                 $xml_reader->close();
  22.  
  23.                 return $xml;
  24.         }
dropoff Отправлено: 27 Ноября, 2014 - 13:42:59 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
DeepVarvar пишет:
Я имел ввиду вообще создать кучу файлов и выводить их в выпадающем селекте.

такое будет не удобно. нужен поиск по и сортировка по товарам, чтобы находить нужные и проделывать с ними необходимые операции.
я думал разбить на части, чтобы просто импортировать в БД было удобнее.
dropoff Отправлено: 27 Ноября, 2014 - 13:10:48 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
я тут уже поглумился над XMLReader.
у него есть http://php.net/manual/ru/xmlreader.isvalid.php
пойдет для валидации?

в принципе я уже написал обработку прайса, беру из него отдельно категории и отдельно продукты.
теперь получается нужно писать в файл по нужному количество блоков и дальнейшей обработки, как вы и предложили.
dropoff Отправлено: 27 Ноября, 2014 - 12:04:42 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
я не очень понял один момент.
структура xml файла тогда должна соответствовать таблице в БД?
а если там других данных полно?
там и категории и продукты и валюты и данные сайта.
получается, придется создавать из основного другие xml файлы и их загонять?
dropoff Отправлено: 27 Ноября, 2014 - 11:19:36 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
Panoptik пишет:
имхо вариант с временной таблицей будет удобнее всего

вот сейчас так и делаю.
но возник вопрос добавления всего из прайса в БД удобным способом, чтобы и нагрузки большой не было и ждать долго не приходилось.

Получается так, что сначала все загоняем во временные таблицы, потом выводим на обработку уже что нужно из БД. имхо, идеальный вариант.
dropoff Отправлено: 27 Ноября, 2014 - 11:11:44 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
Dastor пишет:
Покажите, пример прайса, пожалуйста.

по типу как у Я.Маркет.
dropoff Отправлено: 27 Ноября, 2014 - 10:56:58 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
Dastor пишет:
Пробуйте загрузить с помощью load xml infile.

это получается, что мне пересохранять придется данные. т.е. получить из файла и сохранить с нужной структурой опять в файл, а только потом загонять в БД. Имхо, как-то не правильно это.

DeepVarvar пишет:
Помоему вообще достаточно будет simplexml_load_file

Это же SimpleXML? Я читал, что лучше XMLReader, так как SimpleXML грузит все в память.

DeepVarvar пишет:
А вставлять в БД пачками по 100 штук в одном инсерте.

Т.е. получить массив из 50к, забить на части и обрабатывать?
А если одновременно идет работа с несколькими прайсами разных объемов, не засрется память то?
Может есть резон каждый прайс обрабатывать через крон?
(Добавление)
DeepVarvar пишет:
Он хочет перед вставкой в БД вывести на страницу, как я понял с возможностью вообще отказаться от добавления в БД, просмотреть корректность данных и все такое

Не просто посмотреть данные, но еще и поправить. при этом нужна будет сортировка и постраничка. Измененные данные нужно где-то так или иначе хранить.
dropoff Отправлено: 27 Ноября, 2014 - 08:12:52 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
С этим да, так и сделаю. (бд да, mysql)

Встал вопрос разбора xml файла. Чем лучше и как?
Смотрел XMLReader и пробовал с ним работать... Все вроде хорошо, но как-то запутанно все)
Может есть какие-то классы-хелперы или аналоги, чтобы можно было с большими объемами работать?
(Добавление)
разобрался с XMLReader вроде.

возник вопрос добавления всего из файла в БД.
как это лучше реализовать? Ну разобрал я файл в котором 50к товара.
Как мне пихнуть это в тестовые таблицы в базе? Нужно то быстро это все делать, а не ждать обработки.
dropoff Отправлено: 26 Ноября, 2014 - 21:01:47 • Тема: Работа с XML файлами. Хранение, обработка... • Форум: XML и его обработка

Ответов: 35
Просмотров: 9215
Всем привет.

Возникла задача реализовать обработку XML файлов.

Необходимо перед заливкой данных в БД из файла, получить содержимое в качестве массива для возможности вывода на страницу, чтобы можно было что-то изменить, а потом уже заливать в БД.

При этом файлы могут быть очень большие! Скажем там товары и товаров этих 100к.

Как быть?
К примеру я обработал файл и получил массив. Вывел содержимое на страницу... как хранить эти данные? допустим я изменил в одном элементе число. Куда мне сохранять это временно? Писать в БД? Или сразу загонять все во временную таблицу БД, а потом от туда, уже после обработки, заливать в рабочие таблицы?
dropoff Отправлено: 07 Ноября, 2014 - 17:55:22 • Тема: Выборка похожих записей • Форум: Вопросы новичков

Ответов: 1
Просмотров: 147
Всем привет.

Возник такой вопрос.
Мне нужно из базы вытащить по максимуму схожие записи.
Скажем есть товар с названием "Бетономешалка Энтузиаст Б-165"
Вот нужно все "Бетономешалка Энтузиаст" или просто "Энтузиаст" выводить.

Каким образом можно такое сделать?
match() against() работает, но не так как нужно.
Например у товара с "Bosch GID14A50" не находит "Bosch KAN58A45".

Я поиск никогда не делал и что-то в гугле ничего конкретного не нашел.

Страниц (21): « 1 2 [3] 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB