Для того что бы экспортировать список вашего товара из opencart с помощью SQL запроса, Вам потребуется SQL клиент. SQL клиентов на самом деле большое множество. Каждый хостинг предоставляет возможность получить доступ к базе данных через специальный php скрипт с открытым кодом, под названием PhpMyAdmin.
Лично я предпочитаю использовать для винды «Navicat for MySQL». В нем можно экспортировать и импортировать товар «из» и «в» Excel.
Я буду приводить пример экспорта товара с помощью Navicat for MySQL, так как там есть возможность экспортировать в Excel. Cкачать его можно тут. Бесплатный тоже можно найти в поисковике.
Если вы пользуетесь хостингом, первое что Вам необходимо сделать в настройках у хостера, это дать внешний доступ к базе данных, иначе подключиться к базе данных не получится. У каждого хостера это делается по разному, если Вы сами не разберетесь как это сделать, этот вопрос можно задать в свою службу поддержки.
Установили Navicat, в верхнем левом углу нажимаем большую кнопку Navicat и в появившемся окне прописываем настройки базы данных. Хост, логин и пароль.
Жмем кнопку «Test connection«. Если в диалоговом окне появилось сообщение «connection successful«, значит всё класс. соединение установлено.
Но если будет написано что-то типа access denied for user… Это значит что удаленный доступ к базе данных закрыт для этого пользователя.
Теперь открываем базу данных и выбираем пункт Tables как показано на картинке. Для написания запроса на обязательно надо будет знать префикс таблиц. Это как бы приставочка в начале названия каждой таблички. В случае нашего примера префикс oc_
Если ваш префикс отличается или его нет, тогда надо будет подправить SQL запрос. в запросе префикс я выделю красным цветом.
Префикс знаем, теперь приступаем к написанию SQL запроса.
Нажимаем кнопку Query потом кнопку New Query и в появившемся окне, как показано на картинке пишем вот этот запрос. (префикс выделен красным). Если у Вас нет прификса, значит уберите его из запроса.
********************
SELECT
p.product_id,
p.sku,
p.model,
pd.name,
p.price,
p.quantity
FROM oc_product as p, oc_product_description as pd
WHERE
p.product_id = pd.product_id
********************
Перевожу что тут написано
p.product_id — id продукта в базе
p.sku — Артикул
p.model — Модель
pd.name — Название товара
p.price — Цена
p.quantity — Количество
Вставили запрос, теперь жмем в верху кнопку Run. В табличной части появился перечень товаров. Осталось теперь этот список загрузить в эксель.
Для этого необходимо нажать кнопку «Export Wizard» и в появившемся окне выбрать в каком формате мы будем экспортировать данные.
Тут казалось бы все просто, выбрал формат экселевский и экспортировал. Но не тут то было. практика показала, что если сразу экспортировать данные в эксель, то после того как вы откроете экселевский файл, там вместо русских букв будет абра-кадабра. Такой вариант прокатывает, если бы база опенкарта была в виндовой кодировке. Но так как база в кодировке UTF-8, то мы сделаем экспорт в формате XML, который преобразуем в дальнейшем в эксель.
К стати, в линуксовой версии всё отлично работает. можно сразу в экселевский формат экспортировать.
***
Делаем все как показано на картинках. Выбрали формат XML, Source оставляем пустым, указываем куда будем сохранять наш файл и его имя. например «123″. жмем «Сохранить» потом «Next» «Next» и «Start». готово! файл создан!!!
Осталось немного. Открываем эксель через меню пуск или с рабочего стола если у вас на нем есть ярлык экселевский. Жмем в экселе кнопку открытия документа и выбираем наш файл XML с именем 123.
Дальше эксель начнет брыкаться и задавать вопросы. ответьте на них так как показано на картинках ниже.
Это всё что надо было сделать. теперь нажмите в экселе меню «Сохранить как» и пересохраните его в экселевском формате.