Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Запрос к БД Opencart из модуля экспорта


Recommended Posts

Есть модуль экспорта, у него есть дополнительная опция вставки PHP вот справка:

 

Вставьте php, который будет выполнен при обработке каждой строки. Результат выполнения нужно присвоить переменной $result. Например, если нужно импортировать/экспортировать значение 52, в указанное выше поле базы данных, напишите: $result = 52;. В области видимости выполнения данного php доступны: переменная $num_row с номером, обрабатываемой строки (без учета первой строки с названиями колонок, если таковая присутствует в файле), переменная $result_xpath с результатом обработки xPath (если настраивался выше). А также доступны значения в колонках соответствующей строки. Данные значения будут находиться в переменной: ${'Название колонки'}. Вы также можете изменить значения в этих колонках. Например, если при обработке нужно присвоить значение 5 в колонке под называнием Количество соответствущей строки, напишите: ${'Количество'} = 5; Для работы с базой данный используйте стандартный объект db OpenCart. Например, для подучения содержимого таблицы товаров напишите: $products = $this->db->query("SELECT * FROM " . DB_PREFIX . "product");

 

Подскажите пожалуйста почему может не работать код

 $result= $this->db->query("SELECT `name` FROM `oc_product_description` WHERE `product_id`=8331 ");

 

Хотя вот этот проходит без ошибок, хотя результата исполнения я не вижу..  $result строковая переменная я так понимаю? как занести в нее значения запроса? А $products это что?

 $products= $this->db->query("SELECT `name` FROM `oc_product_description` WHERE `product_id`=8331 ");

 

 

Змінено користувачем SanchoS1
Надіслати
Поділитися на інших сайтах


вообще то по идее должно быть так

$result= $this->db->query("SELECT `name` FROM `oc_product_description` WHERE `product_id`=8331 ")->row;

  • +1 1
Надіслати
Поділитися на інших сайтах


скорее всего неправильный синтаксис вот этого ${'Код_товара'}

попробуйте так

$result= $this->db->query("SELECT `product_id` FROM `oc_product` WHERE `model`='" . ${'Код_товара'}. "'")->row;

  • +1 1
Надіслати
Поділитися на інших сайтах


Еще вопросик может существует какой то способ экранировать запятую в php, когда в поле встречается запятая, модуль выводит так

"Power bank Hoco J62 30000mah"," черный"

 а надо так

"Power bank Hoco J62 30000mah, черный"

может сможете подсказать какие то варианты решения этой проблемы

Надіслати
Поділитися на інших сайтах


вообще то так не должно быть по идее, надо смотреть в чем дело, это какая то проблема модуля.

самое оптимальное и безгеморное заменить , на -

"Power bank Hoco J62 30000mah - черный"

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.