Как импортировать записи из такой БД?

Аватар пользователя VasyOK VasyOK 13 ноября 2014 в 23:21

Приветствую товарищи!

Есть база данных в которой товары забиты так:

Как эти товары с их картинками перенести на Drupal сайт?

Как доказать сайту, что несколько картинок относятся к одному товару? (Пока могу импортировать только если несколько картинок в одной ячейке)

Варианты решения (Если знаете рецепт любого варианта - подскажите пожалуйста)
1. Feeds. Как то можно такую таблицу импортировать? Может темпер задать... Типа ячейчка пустая - значит использовать то что выше...

2. Excel. Объеденить ячейки с картинками в одну как-то...(?) а потом feeds...

3. SQL. Может какой-то мудреный SQL запрос составить в исходной БД-е...(?) и опять же feeds...

ВложениеРазмер
Иконка изображения mytable.jpg44.36 КБ
0 Thanks

Комментарии

Аватар пользователя dashiwa dashiwa 13 ноября 2014 в 23:36

По смыслу так же устроены мульти поля cck. 1 ноде множество полей.
Будет колонка внешнего ключа по которому будет соединятся таблица с фотками с таблицей с названиями,и колонка с первичным ключом чтобы можно было каждую фотку по 1 вытащить из базы.как то так..Извиняюсь за сумбур ..для ноды запрос могу написать..для Комерца структуру бд не смотрел..Это один из хрестоматийных примеров sql

Аватар пользователя VasyOK VasyOK 13 ноября 2014 в 23:49

У меня нет Комерца. Обычная нода, с полем загрузки картинок.

Если это просто, можно примерный запрос или ссылку на теорию?
Учил это все когда-то. Но по базам редко лазаю.

Аватар пользователя Orion76 Orion76 14 ноября 2014 в 10:01

В каком формате база?
Но в любом случае, проще сначала ее "нормализовать" любым доступным способом..
Если с Exel на "ты".. можно хитрой формулой в дополнительный столбец добавить для каждой картинки наименование товара(Условие: Если ячейка пустая, берем Имя товара из предыдущей)..

Простеньким php-кодом с простенькими sql-запросами тоже не сложно..

Аватар пользователя neltharian neltharian 14 ноября 2014 в 11:47

Ну зачем мудрить так дико - Php, SQL и иже. Все просто делается через Feeds. Можете конечно извращаться, воля ваша, но если использовать Feeds, то таблицу надо слегка переделать.

у вас должно быть вот так - | Sony Ps | /url_to_image_folder/sonka1.jpg,/url_to_image_folder/sonka2.jpg,/url_to_image_folder/sonka3.jpg

Поле для картинок должно бить мультизначимим

Делается через связку Feeds + Feeds Tamper. Там все просто разберетесь сами.

Аватар пользователя neltharian neltharian 14 ноября 2014 в 11:48

А да бесплатный совет как переделать - копируете столбец в notepad++ и понеслась.

Аватар пользователя gun_dose gun_dose 14 ноября 2014 в 12:55

я бы попробовал сперва фидсом экспортировать что-то с целевого сайта, чтобы увидеть, в каком виде он готов это есть. Потом на исходном сайте через пхпмайадмин делаем запрос со всевозможными иннер джоинами, чтобы вытянуть все нужные столбцы под нужными именами и в нужной последовательности. Результаты экспортнуть в CSV и уже можно скармливать это друпалу после минимальных манипуляций в экселе, а в идеале даже без них.

Аватар пользователя VasyOK VasyOK 14 ноября 2014 в 16:26

Спасибо что ответили! По порядку.
orion76, фрамат базы я не знаю - в PhpMyAdmin открыватся. Т.е. перекинуть ее в Эксель можно.
"Условие: Если ячейка пустая, берем Имя товара из предыдущей" ну будет таблица вида (книзу). Это можно импортировать?
____________________________
| Xbox360 | kartinka1.jpg |
| Xbox360 | kartinka2.jpg |
| Xbox360 | kartinka3.jpg |
____________________________

neltharian, "должно быть вот так" - было бы вот так, я бы сделал :) Разве в notepad++ функция полезная функция есть?

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

Аватар пользователя VasyOK VasyOK 14 ноября 2014 в 18:43

Собственно еще раз спасибо за отклики!

Свою проблему я решил в Excel. Создал дополнительные столбцы в которых поставил проверку пустое ли соседнее поле. Если пустое, значение клетки объединяется с предыдущим.