Jump to content

yandex.php Выгрузка только определенных брендов через GET-запрос


Recommended Posts

Добрый день!

 

Есть необходимость GET-запросом выбирать товары определенных брендов в YML по id бренда, например:

site.ru/yandex.php?brand_id=1,5,24

В моём yandex.php уже есть код, в котором я делаю некоторые выборки через GET:


$export_flag = isset($_GET['all']) ? '': ' AND v.exportable=1 ';

$utm_flag = isset($_GET['ads_source']) ? 'utm_source='.$_GET['ads_source'].'&utm_term=': '';

$exclude_categories = isset($_GET['exclude_categories']) ? ' AND pc.category_id NOT IN ('.$_GET['exclude_categories'].') ': '';

$simpla->db->query("SELECT DISTINCT pc.category_id FROM s_variants v LEFT JOIN s_products p ON v.product_id=p.id
LEFT JOIN s_products_categories pc ON p.id = pc.product_id AND pc.position=(SELECT MIN(position) FROM s_products_categories WHERE product_id=p.id LIMIT 1)	
WHERE p.visible $exclude_categories AND (v.stock >0 OR v.stock is NULL) $export_flag GROUP BY v.id ORDER BY p.id ");

 

Вопрос, как сюда добавить выборку товаров определенных в GET-запросе брендов.

 

Благодарю за помощь!

Link to post
Share on other sites

AND p.brand_id IN (1,5,24)

 

Я пробовал так:

$simpla->db->query("SELECT DISTINCT pc.category_id FROM s_variants v LEFT JOIN s_products p ON v.product_id=p.id
LEFT JOIN s_products_categories pc ON p.id = pc.product_id AND pc.position=(SELECT MIN(position) FROM s_products_categories WHERE product_id=p.id LIMIT 1)	
WHERE p.visible AND p.brand_id IN (1,5,24) $exclude_categories AND (v.stock >0 OR v.stock is NULL) $export_flag GROUP BY v.id ORDER BY p.id ");

 но не получается..

Link to post
Share on other sites

Условие на выбор товаров определенных брендов в запросе есть  - "p.brand_id IN (1,5,24)".

 

Если не нравится, что они фиксированные, то примерно так:  p.brand_id IN (".GET['brand_id'].")

Link to post
Share on other sites

Условие на выбор товаров определенных брендов в запросе есть  - "p.brand_id IN (1,5,24)".

 

Если не нравится, что они фиксированные, то примерно так:  p.brand_id IN (".GET['brand_id'].")

 

Сейчас у меня выглядит код вот так:

 

// Выгружаем все товары, даже если у товара не установлен чекбокс выгрузки в xml
$export_flag = isset($_GET['all']) ? '': ' AND v.exportable=1 ';

$utm_flag = isset($_GET['ads_source']) ? 'utm_source='.$_GET['ads_source'].'&utm_term=': '';

// Исключаем ненужные категории для смарт-баннеров Яндекса
$exclude_categories = isset($_GET['exclude_categories']) ? ' AND pc.category_id NOT IN ('.$_GET['exclude_categories'].') ': '';

$brand_ids = isset($_GET['$brand_ids']) ? ' AND p.brand_id IN ('.$_GET['brand_ids'].') ': '';

$simpla->db->query("SELECT DISTINCT pc.category_id FROM s_variants v LEFT JOIN s_products p ON v.product_id=p.id
LEFT JOIN s_products_categories pc ON p.id = pc.product_id AND pc.position=(SELECT MIN(position) FROM s_products_categories WHERE product_id=p.id LIMIT 1)	
WHERE p.visible $brand_ids $exclude_categories AND (v.stock >0 OR v.stock is NULL) $export_flag GROUP BY v.id ORDER BY p.id ");

Делаю запрос:

site.ru/yandex.php?brand_ids=1,5,24

И не работает. Выгружаются все бренды. Куда копать?

Edited by Dmitry86
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...