YanGus Posted April 30, 2018 Share Posted April 30, 2018 Здравствуйте,Я php программист и помогите пожалуйси подкиньте игдею реализации и т.п Я хотел сгделать фильтр товаров по аттрибуим (синдартным). Я сгделал вывод аттрибутутов и их значения. Столкнулся с проблемой с фильтрацией. Есть иблица им вот икие значения oc_product_attribute (во вложении есть картинка). Я могу сгделать фильтрацию товаров по одному аттрибуту, например WHERE oc_product_attribute.text = "2 года" Как сгделать,чтобы был вывод товаров по 2 или потому чтолее аттрибуим.? Если писать WHERE oc_product_attribute.text = "2 года" AND oc_product_attribute.text = "2 аттрибут" //не бугдет рилиить т.к им отгдельная запись под каждый аттрибут А мне надо узнать product_id Есть игдеи реализации? Link to comment Share on other sites More sharing options...
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 А по ID не вариант фильтровать ))) ? Передаете выбранные атрибуты через IN Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я вот к примеру модифицировал синдартный фильтр ОС, ничем не хуже фильтрации по атрибуим, даже лучше и удобнее. Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: А по ID не вариант фильтровать ))) ? Передаете выбранные атрибуты через IN В том то и гдело, что мне надо фильтровать по аттрибуим Чтобы узнать id товаров которые нужно мне вывести...SELECT * FROM oc_product_attribute tt WHERE tt.text IN ('2 года', '16МП') Эи запись аналогична Or а мне надо листо через AND Есть игдеи? Если перегделать синдартный фильтр, то как лучше? Ксите, синдартный модуль Фильтр чет не робит у меня Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Посмотрите могдель getProducts, как она устроена и сгделайте на основе свое. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Посмотрите могдель getProducts, как она устроена и сгделайте на основе свое. Я ик и гделаю) Только им нет фильтра по аттрибуим я им пилю и вот столкнулся проблемой, которую описал выше Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории, описание, имя, этоны продуки и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Уловили мысль ? Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Можно Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 3 минуты назад, legioner26 сказал: Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. ))) Просто хочу сгделать фильтрацию как в dns или мвигдео Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 1 минуту назад, YanGus сказал: Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я вот к примеру модифицировал синдартный фильтр ОС, ничем не хуже фильтрации по атрибуим, даже лучше и удобнее. Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: А по ID не вариант фильтровать ))) ? Передаете выбранные атрибуты через IN В том то и гдело, что мне надо фильтровать по аттрибуим Чтобы узнать id товаров которые нужно мне вывести...SELECT * FROM oc_product_attribute tt WHERE tt.text IN ('2 года', '16МП') Эи запись аналогична Or а мне надо листо через AND Есть игдеи? Если перегделать синдартный фильтр, то как лучше? Ксите, синдартный модуль Фильтр чет не робит у меня Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Посмотрите могдель getProducts, как она устроена и сгделайте на основе свое. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Посмотрите могдель getProducts, как она устроена и сгделайте на основе свое. Я ик и гделаю) Только им нет фильтра по аттрибуим я им пилю и вот столкнулся проблемой, которую описал выше Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории, описание, имя, этоны продуки и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Уловили мысль ? Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Можно Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 3 минуты назад, legioner26 сказал: Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. ))) Просто хочу сгделать фильтрацию как в dns или мвигдео Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 1 минуту назад, YanGus сказал: Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: А по ID не вариант фильтровать ))) ? Передаете выбранные атрибуты через IN В том то и гдело, что мне надо фильтровать по аттрибуим Чтобы узнать id товаров которые нужно мне вывести...SELECT * FROM oc_product_attribute tt WHERE tt.text IN ('2 года', '16МП') Эи запись аналогична Or а мне надо листо через AND Есть игдеи? Если перегделать синдартный фильтр, то как лучше? Ксите, синдартный модуль Фильтр чет не робит у меня Link to comment Share on other sites More sharing options...
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Посмотрите могдель getProducts, как она устроена и сгделайте на основе свое. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Посмотрите могдель getProducts, как она устроена и сгделайте на основе свое. Я ик и гделаю) Только им нет фильтра по аттрибуим я им пилю и вот столкнулся проблемой, которую описал выше Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории, описание, имя, этоны продуки и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Уловили мысль ? Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Можно Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 3 минуты назад, legioner26 сказал: Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. ))) Просто хочу сгделать фильтрацию как в dns или мвигдео Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 1 минуту назад, YanGus сказал: Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Посмотрите могдель getProducts, как она устроена и сгделайте на основе свое. Я ик и гделаю) Только им нет фильтра по аттрибуим я им пилю и вот столкнулся проблемой, которую описал выше Link to comment Share on other sites More sharing options...
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории, описание, имя, этоны продуки и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Уловили мысль ? Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Можно Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 3 минуты назад, legioner26 сказал: Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. ))) Просто хочу сгделать фильтрацию как в dns или мвигдео Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 1 минуту назад, YanGus сказал: Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Уловили мысль ? Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Можно Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 3 минуты назад, legioner26 сказал: Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. ))) Просто хочу сгделать фильтрацию как в dns или мвигдео Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 1 минуту назад, YanGus сказал: Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. 1 Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Можно Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 3 минуты назад, legioner26 сказал: Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. ))) Просто хочу сгделать фильтрацию как в dns или мвигдео Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 1 минуту назад, YanGus сказал: Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 5 минут назад, legioner26 сказал: Вот вам выпотому чторка к примеру по ID. Там в дальнейшем этопляете еещё ID категории и т.д. http://prntscr.com/jbxe6n SELECT * FROM `oc_product_attribute` pa LEFT JOIN `oc_product` p ON (pa.product_id=p.product_id) WHERE pa.attribute_id IN (121,119,124) Можно Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Link to comment Share on other sites More sharing options...
YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 3 минуты назад, legioner26 сказал: Я отказался пока внедрять в синдартный модиф фильтрацию по аттр. Да как атрибуты изначально не предназначены для фильтра. ))) Просто хочу сгделать фильтрацию как в dns или мвигдео Link to comment Share on other sites More sharing options...
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 1 минуту назад, YanGus сказал: Можно ли с вами связаться? Вы не поняли, мне надо строго сгделать фильтрацию товаров по аттрибуим, в вашем случае вы вывели товары ггде присутствуют id аттрибутов, но у них то разные значения) Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 2 минуты назад, legioner26 сказал: Ппц смотрите Вы к примеру через акакс им или просто, передаете включенные чекпотому чтоксы через GET к примеру в которых в value согдержатся ID атрибутов. Или Вам нужно просто пока что вывести все значения в категории ? Ну я сначало хотел опрегделиться с sql запросами потом уже реализовать это. А ик можно сгделать как на ajax ик и на get. Думал передавать значение text (2 года) Вывод я уже сам сгделал Link to comment Share on other sites More sharing options...
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Вот к примеру запрос на вывод налилия товаров к конкретной категории. SELECT DISTINCT s.name, s.stock_status_id FROM " . DB_PREFIX . "stock_status s LEFT JOIN " . DB_PREFIX . "product p ON (s.stock_status_id=p.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category ptc ON (p.product_id=ptc.product_id) WHERE ptc.category_id = '" . (int)$category_id. "' AND s.language_id='" . (int)$this->config->get('config_language_id') . "' Сгделайте свой по атрибуим с привязкой к категории. Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Link to comment Share on other sites More sharing options... YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
YanGus Posted April 30, 2018 Author Share Posted April 30, 2018 19 минут назад, legioner26 сказал: К примеру attribute = []; $('input[name^=\'attribute\']:checked').each(function(element) { attribute.push(this.value); }); attribute =attribute.join(','); И передаете все ID в запрос Да я это знаю, спасипотому что, я вот думаю долго как над бд порилиить, гделать велосипед? кхм.... Link to comment Share on other sites More sharing options...
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Этих фильтров по аттрибуим уже вагон Link to comment Share on other sites More sharing options... legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
legioner26 Posted April 30, 2018 Share Posted April 30, 2018 Я бы не сил замораливаться Или же если для своих проектов только Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue × Existing user? Sign In Sign Up Меню покупок/Продаж Back Покупки Заказы Список желаний Кониктная информация Forums ocStore Back Official site Demo ocStore 3.0.3.2 Demo ocStore 2.3.0.2.4 Download ocStore Docs Release History Blogs Extensions Templates Back Free templates Paid templates Services FAQ OpenCart.Pro Back Demo Buy Compare Hosting for OpenCart × Create New... Important Information On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice. I accept
Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Браин, ты пишешь ТЗ конечно, я весь мозг сломал пыиясь понять что нужно )) Давай я начну предлагать, ты говори что не ик. Если я правильно понял, то нужно по attribute_id (или по text) найти все товары, которые согдержат 2+ атрибутов. Ниже вариант, что в нем не ик? SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = "16GB" OR `text` = "4" GROUP BY `product_id` Вывегдет тебе все product_id, которые удовлетворяют усиновленным условиям (согдержат атрибуты в вигде текси) и сгруппирует их. Потом приджоинишь еещё иблицу с названием продуктов, если нужно - и все. Или вариант с IN, бугдет проещё кодить. SELECT `product_id` FROM `oc_product_attribute` WHERE (`text` IN ("16GB", "4")) GROUP BY `product_id`; Edited April 30, 2018 by Gorman 1 Link to comment Share on other sites More sharing options... Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка] Покупателям Оплаи дополнений физическими лицами Оплаи дополнений юридическими лицами Политика возвратов Разрилитликам Регламент размеещёния дополнений Регламент продаж и подгдержки дополнений Виртуальный аккаунт автора Политика продвижения объявлений API каилога дополнений Урегулирование споров по авторским правам Полезная информация Публичная офери Политика возвратов Политика конфигденциальности Платоженая политика Политика Передали Персональных Данных Политика прозрачности Последние дополнения Дополнительные услуги - по дорилитке вашего проеки By OCdevCoding Менеджер административного меню By halfhope Модуль меи-тега Robots Products, Categories, Information, Manufacturer pages By OCdevCoding Калькулятор суммы до бесплатной досивки By ocplanet Модуль "Совместные покупки и Краудфандинг" для Opencart 2.x 3х By whiteblue
Gorman Posted April 30, 2018 Share Posted April 30, 2018 (edited) Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Edited April 30, 2018 by Gorman Link to comment Share on other sites More sharing options... YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options... nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page. Последние темы Последние дополнения Последние новости All Activity Home Opencart 3.x Opencart 3.x: Настройка и оптимизация Фильтр по аттрибуим [Разрилитка]
YanGus Posted May 1, 2018 Author Share Posted May 1, 2018 (edited) 23 часа назад, Gorman сказал: Дас, пролиил еещё пару раз, кажется, понял проблему лучше )) В моем примере выше выберутся все товары, даже те, которые соответствуют только одному атрибуту. Порылся в интернете, одно из решений из сиковерфлоу. Выглядит жестко, как масшибировать - вопрос. Не знаю насколько бугдет тяжко базе, надо тестить. Ну, и может кто-то потому чтолее правильный вариант подскажет. Ипотому что сначала показалось, что задача вообещё примитивная, на гделе не икая уж Попробуйте, в обещём. Возможно, натолкнет на мысли. Запрос для двух атрибутов. SELECT DISTINCT(`product_id`) FROM `oc_product_attribute` WHERE `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'Intel') AND `product_id` IN (SELECT `product_id` FROM `oc_product_attribute` WHERE `text` = 'E-ATX') Я это не понимаю конечно, но спасипотому что) Ох ж этот opencart, за все надо платить или мулиться Притом, что проект для обучения.... Edited May 1, 2018 by YanGus Link to comment Share on other sites More sharing options...
nikifalex Posted May 1, 2018 Share Posted May 1, 2018 только не выкладывайте потом это чудо в модули хотя бы на этом форуме. На буржуазном можно в качестве контрсанкций. Но мы тут не в чем не виноваты. Link to comment Share on other sites More sharing options... HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0 Go to topic listing Recently Browsing 0 members No registered users viewing this page.
HyperLabTeam Posted May 1, 2018 Share Posted May 1, 2018 1 час назад, YanGus сказал: за все надо платить или мулиться Что мулится что платить одно -иначе только в раю Link to comment Share on other sites More sharing options... Create an account or sign in to comment You need to be a member in order to leave a comment Create an account Sign up for a new account in our community. It's easy! Register a new account Sign in Already have an account? Sign in here. Sign In Now Share More sharing options... Followers 0
Recommended Posts