Форум русской поддержки Joomla!® CMS
03.12.2016, 04:26:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Помочь дописать запрос на выборку с БД для экспорта

 (Прочитано 217 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tomas_morgam
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 131


« : 29.04.2016, 13:29:31 »

Здравтсвуйте! Помогите, пожалуйста, дописать запрос на выборку. Буду благодарен за помощь.
Код:
$query = "SELECT
                    prod.product_ean,
                    prod.`".$lang->get('meta_keyword')."` as meta_keyword,
                    prod.`".$lang->get('short_description')."` as short_description,
                    prod.product_price,
                    prod.product_quantity,
                    prod.product_manufacturer_id,
                    prod.product_thumb_image,
/*сюда вставить*/
                  FROM `#__jshopping_products` AS prod
                  LEFT JOIN `#__jshopping_products_to_categories` AS categ USING (product_id)
                  LEFT JOIN `#__jshopping_taxes` AS tax ON tax.tax_id = prod.product_tax_id
                  GROUP BY prod.product_id"

1. Как по currency_id (из #__jshopping_products) выбрать нужный currency_value (из #__jshopping_currencies)?
2. Как из #__jshopping_products_images по product_id выбрать все картинки товара через запятую?
Записан
Tuzemec
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 220


Ня!


« Ответ #1 : 29.04.2016, 16:21:14 »

Здравтсвуйте! Помогите, пожалуйста, дописать запрос на выборку. Буду благодарен за помощь.
Это куда вообще вставляться будет? Какие поля в общем нужны? Обязательно одним запросом выполнять? Может имеет смысл для выборки фото отдельный запрос сделать?
Записан
tomas_morgam
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 131


« Ответ #2 : 04.05.2016, 10:02:41 »

Это куда вообще вставляться будет? Какие поля в общем нужны? Обязательно одним запросом выполнять? Может имеет смысл для выборки фото отдельный запрос сделать?
1. Будет вставляться в nrexportutf8.php (вигрузка товаров в Joomshopping).
2. К тому что уже есть нужно добавить значение валюты (есть несколько валют) по id, id валюты взять с #__jshopping_products товара.
3. Да, нужно одним запросом, JOIN добавить нужные таблицы.
4. "для выборки фото отдельный запрос" - я тоже об этом думал, можна сделать отдельным.
Записан
Linfuby
Живу я здесь
******

Репутация: +165/-0
Offline Offline

Пол: Мужской
Сообщений: 1201


Всё просто...


« Ответ #3 : 11.05.2016, 17:51:15 »

Ну наверное как-то так
Код:
$query = "SELECT
                    prod.product_ean,
                    prod.`".$lang->get('meta_keyword')."` as meta_keyword,
                    prod.`".$lang->get('short_description')."` as short_description,
                    prod.product_price,
                    prod.product_quantity,
                    prod.product_manufacturer_id,
                    prod.product_thumb_image,
                    currency.currency_value,
                    GROUP_CONCAT(images.image_name)
                  FROM `#__jshopping_products` AS prod
                  LEFT JOIN `#__jshopping_products_to_categories` AS categ USING (product_id)
                  LEFT JOIN `#__jshopping_taxes` AS tax ON tax.tax_id = prod.product_tax_id
                  LEFT JOIN `l_jshopping_currencies` AS currency USING(currency_id)
                  LEFT JOIN `l_jshopping_products_images` as images USING (product_id)
                  GROUP BY prod.product_id"
Записан
tomas_morgam
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 131


« Ответ #4 : 31.05.2016, 10:13:36 »

Ну наверное как-то так
Код:
$query = "SELECT
                    prod.product_ean,
                    prod.`".$lang->get('meta_keyword')."` as meta_keyword,
                    prod.`".$lang->get('short_description')."` as short_description,
                    prod.product_price,
                    prod.product_quantity,
                    prod.product_manufacturer_id,
                    prod.product_thumb_image,
                    currency.currency_value,
                    GROUP_CONCAT(images.image_name)
                  FROM `#__jshopping_products` AS prod
                  LEFT JOIN `#__jshopping_products_to_categories` AS categ USING (product_id)
                  LEFT JOIN `#__jshopping_taxes` AS tax ON tax.tax_id = prod.product_tax_id
                  LEFT JOIN `l_jshopping_currencies` AS currency USING(currency_id)
                  LEFT JOIN `l_jshopping_products_images` as images USING (product_id)
                  GROUP BY prod.product_id"
Большое спасибо, но что-то не выходит вывести id категории

Код:
$query = "SELECT
                    prod.product_ean,
                    prod.product_price,
                    currency.currency_value,
                    GROUP_CONCAT(images.image_name)
                  FROM `#__jshopping_products` AS prod
                  LEFT JOIN `#__jshopping_products_to_categories` AS categ USING (product_id)
                  LEFT JOIN `#__jshopping_taxes` AS tax ON tax.tax_id = prod.product_tax_id
                  LEFT JOIN `#__jshopping_currencies` AS currency USING(currency_id)
                  LEFT JOIN `#__jshopping_products_images` as images USING (product_id)
                  GROUP BY prod.product_id";

        $db->setQuery($query);
        $products = $db->loadObjectList();

        $data = array();
        $head = array("Код_товара","Цена","Категория");
        $data[] = $head;

        foreach($products as $prod){
            $row = array();
            $row[] = $prod->product_ean;
$row[] = number_format($prod->product_price/$prod->currency_value, 0, '', '');
$row[] = $prod->categ; /*Наверное здесь неправильно обращаюсь к id категории*/
            $data[] = $row;
        }

Разобрался, просто забыл дописать categ.category_id, вопрос закрыт.
« Последнее редактирование: 31.05.2016, 10:34:33 от tomas_morgam » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet