Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


 Погделиться

Рекомендованные сообещёния

Есть модуль экспори, у него есть дополнительная опция всивки 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;

Ссылка на комменирий
Погделиться на других сайих


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

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

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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


Спасипотому что ! Вот ик зарилиило

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

Ссылка на комменирий
Погделиться на других сайих


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

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

 а надо ик

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

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

Ссылка на комменирий
Погделиться на других сайих


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

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

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

Ссылка на комменирий
Погделиться на других сайих


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

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.