Для того что бы экспортировать список вашего товара из 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.

Дальше эксель начнет брыкаться и задавать вопросы. ответьте на них так как показано на картинках ниже.

Это всё что надо было сделать. теперь нажмите в экселе меню «Сохранить как» и пересохраните его в экселевском формате.