Логическая задачка для программистов айтишников 300ккк/наносек. Надо разобраться, как перебирать товары по нажатию. Допустим, есть некоторое количество параметров (для примера шесть, на пикче нечаянно назвал их фильтрами, но в принципе суть та же) и у каждого разное количество значений (оно может быть любым, но для упрощения понимания сделал по шесть значений у каждого параметра). Для чего это нужно? Объясняю: в каждом товаре есть несколько разновидностей товара, отличающихся цветом, размерами и прочими параметрами, и каждая разновидность товара обладает своей ценой и количеством. Каждая разновидность может характеризоваться любым количеством параметров, но не менее чем одним. Значения параметров разновидности товара могут пересекаться между собой, но должны отличаться хотя бы в одном параметре (очевидно, но на всякий случай упомянул).
Так, структуру объяснил, теперь перехожу к сути. Все эти значения будут в виде кнопок. Допустим, все кнопки будут серого цвета. Но когда мы кликаем по кнопке, то будет выбираться разновидность товара, подходящая под значение данного параметра. И все кнопки-значения, соответствующие этой разновидности, будут подсвечиваться красным цветом. Все легко и просто, если кликать по кнопкам-значениям, чьи значения не пересекаются между разными разновидностями товара. Допустим, мы хотим активировать фиолетовую разновидность товара. Если кликнуть по значению 6 фильтра номер 5, то все очевидно и просто. Но как быть и какую разновидность товара активировать, если кликать по значениям, которые пересекаются с двумя и более разновидностями? Например, значение 2 фильтра 3. Там у нас сразу три товара - оранжевый, синий и фиолетовый (цвета - не характеристика в данном случае, а для наглядности таблицы). Интуитивно предполагаю, что следует учитывать предыдущую разновидность, чьи параметры сейчас активны, и как-то сопоставлять с новым значением, но хз как.
Хорошо, даю вводную. Допустим, пользователь сперва нажал на значение 6 фильтра номер 6, и у нас был выбран красный товар. Потом он нажимает на значение 2 фильтра номер 3. Какой товар должен активироваться и почему? Приведите логическую цепочку ваших рассуждений. Заранее благодарю.
>>227701366 (OP) Нихуя не понял что ты несёшь, но при выборе фильтра 6-6 и 3-2 не должен выдаваться ни один товар, так как ни один из четырёх не удовлетворяет обоим этим значениям, нет?
Ну поебень. Это называется так, но случайно написал так, нутыпонел, а вот здесь красненький но фиолетовый как сделать чтобы он был синенький. Я хотел сказать оранжевый, я про красный говорю если что нутыпонел.
>>227701840 Это не фильтры, а параметры. В картинке нечаянно написал слово "фильтры". Принцип значения такой: по клику по нему выбирается товар, который ему соответствует. По параметру 6-6 как мы видим находится красный товар. Он там один, так что с выбором проблемы нет. А по параметру 3-2 там аж три товара, так какой показывать?
>>227701366 (OP) Сука, мразь тупая, я узнал твою задачу с первого абзаца, оппоста. Ты же уже три месяца срешь своей хуйней ебаной на всех досках двача. Пошёл нахуй отсюда, тебе все сказали ещё в самый первый раз. Ебучий шизоид, только бы аллах помиловал нас всех и не дал тебе вкатиться, чтобы никому пе пришлось с тобой работать. Тред не читал. пошёл нахуй
>>227702203 Нихуя ты не узнал, ту задачу я уже решил. Без помощи двача, кстати. В том треде никто не смог посоветовать чего-то дельного. Я удивляюсь. На дваче якобы каждый второй программист 300/сек, но никто не может помочь с примитивными задачками. Зато во всяких социоблядских тредах все хвастаются мега-зарплатами лол
>>227702345 Если на пальцах, то вот ещё проще. Допустим, есть три разновидности товара, обладающих одним и тем же значением определенного параметра. Так какую из трех разновидностей товара показать?
>>227702406 >И что бы там не было, тупо селектом делается. Ебать ты удивил, дауненок. А математическая задача наверно решается в цифрах и буквах? Тут проблема не в составлении запроса, а в логике самого выбора. Если понять по какому принципу выбирать разновидность товара, то запрос будет составить нетрудно. Мне нужна логика решения, а в код и SQL я сам сумею преобразить.
>>227701366 (OP) Давай попробую перевести: объекты обладают обладают N атрибутами. К примеру, 6. Значения атрибутов в случайном диапазоне, к примеру 1-6. Значений может быть несколько - значение-массив. На пике, по всей видимости, карта значений этих атрибутов, где фильтр - номер атрибута, значение - значение. Надо составить запрос, который выделит четвёртый товар по поиску второго значения атрибута 3. Я правильно понял?
>>227703178 >Я правильно понял? Вроде правильно кроме >Надо составить запрос, который выделит четвёртый товар по поиску второго значения атрибута 3. Надо логически описать принцип, по которому выбрать одну из трех разновидностей товара. Обосновать почему. Я чувствую, что надо это как-то связать с предыдущей разновидностью товара, но хз как
>>227703355 Пидорасина тупорылая, ты сука без ошибок даже свою обоссаную картинку сделать не можешь. О чем с тобой, хуесоской, вообще говорить? Ты же реально полуебеок тупорылый, у которого вместо мозгов насрано. Просто пасть разевай ссать туда буду.
>>227701366 (OP) Тут вопрос не к 300к/наносек, а к тем, кто перед тобой такую задачу поставил. Такие моменты в ТЗ прописывают, так как они напрямую отражают бизнес логику. Если тебе для успокоения нужен ответ с жвача - вот он: Так как ты по параметрам всё же фильтруешь товар, то если набор параметров пересекается (логическое умножение) с несколькими позициями - показать все позиции, дальше юзер доп кнопками отфильтрует точнее.
P. S. Сажа за то, что тебе лень было картинку правильно в пеинте перерисовать.
>>227701366 (OP) Опять ты прибежал с этой хуетой, очевидно что у тебя не проблема как выбирать, а проблема общей архитектуры. Ты пытаешься сделать какую-то хуету типа 7 перепендикулярных линий.
>>227703285 Задание ничего не говорит про связь с предыдущими выборами и важность атрибутов. Про какую логику тут можно говорить? Если первый атрибут - наличие в магазинах, то надо исходить из него. Если это все числовые параметры, то найти наименьшее отклонение. Т.е. красный в данном случае. Задача некорректна.
>>227703807 >Допустим, пользователь сперва нажал на значение 6 фильтра номер 6, и у нас был выбран красный товар. Потом он нажимает на значение 2 фильтра номер 3. >В смысле первой? Ты, блять, сам перечитай, что ты пишешь, долбоёб.
>>227704094 Ты где структуру базы данных и таблицы увидел, дауненок? Они могут быть совершенно любыми, мне нужен сам принцип, логика, а таблицы уже можно подогнать под решение.
>>227704311 Не хуету. На хабре тоже задавались похожим вопросом (я о моем первом треде), в итоге задачу решили побитовым сравнением параметров. Я использовал это решение. И нашел его, повторюсь, на хабре, а не на дваче.
>>227704259 Я понял, что у тебя есть объекты типа: [ [1, 5, 6], [], [2, 3], [4], [], [] ] или [ [ 1, 0, 0, 0, 1, 1] []... Ты задаёшь запрос на второе значение третьего атрибута-объекта/элемента массива и ожидаешь, что тебе выберут один элемент по какой-то логике, которая не указана в задаче, о чём я и написал.
>>227704543 >тебе выберут один элемент по какой-то логике, которая не указана в задаче Как раз и стоит вопрос, по какой логике выбирать этот самый элемент. И возможно, это как-то должно быть связано с предыдущим активным товаром.
>>227701366 (OP) > логическая задачка > ну это... ээ ну как бы надо чтобы и так и сяк есть товары которые состоят из товаров эээ пук-среньк короче вы понили миня?
>>227704335 Да, я бы посмотрел на магазин, где ты приходишь и происходит диалог с продавцом : -Покажите, пожалуйста, какие у вас есть красные велосипеды -Вот смотрите, прекрасное педальне_говно_3000 -А что у вас еще есть? -А нахуя вам больше показывать, вы же только один велосипед покупаете.
>>227704695 >То ты сам решил, то теперь хабр решил Хабр дал правильное направление, часть кода, но полного решения там естественно не было, надо было дописывать самому.
>>227704642 >И возможно, это как-то должно быть связано с предыдущим активным товаром. Так связано или нет? Если надо решить связано или нет, причём тут программирование? Это как заказать приложение у фрилансера, но чтобы он ещё придумал, о чём оно будет. Если оно никак не связано: выдаёшь любой. Или любой с которого у тебя больше профит, но это опять не сказано. Если связаны, то следует указать, равновесна ли важность параметров, что опять не сказано.
>>227704675 Да, такое ощущение что ОП пост писал долбоеб ПТУшник, без вышки, который после многих лет деградации открыл для себя программирование, а четко формулировать мысли не может, собственно как и составить алгоритм.
>>227703882 Какую блядь одну тебе нужно? Запрос удовлетворяют три товара, значит и показать нужно три. А если тебе нужно что-то одно, то конкретизируй, что именно тебе нужно. Задачу поставь нормально для начала, шиз.
>>227704773 >Хабр дал правильное направление, Лол, т.е. на даже на тупом хабре не смогли понять твою шизофазию и тупо угадывали, что ты хочешь от них. Один из предложенных вариантов ты и взял, уверен что понимания и ума тебе это не прибавило ни на йоту.
>>227704297 >Ты где структуру базы данных и таблицы увидел, дауненок? На оп-пике и есть одна БД в виде таблицы.
Не еби мозги, так не делается как ты хочешь. Сделай параметры как текстовую строку. "Товар - параметры - цена - количество". Например "Дилдак - ф3" где ф - фиолетовый, 3 - размер. Потом запросом ищи соответствующие значения в параметрах.
>>227704861 Это числовые параметры или качественные? Если числовые, находишь отклонение от желаемого и выдаёшь красный. Если качественные - то тут не выбрать.
>>227704931 >Если качественные - то тут не выбрать. Обоснуй. Может можно ранжировать как-то по совпадаемости количества значений с предыдущей разновидностью? Или хз
>>227704877 Да нет, долбоеб. Ты косноязычен и несешь хуету, четко видно, что ты вообще не можешь в четкую и ясную формализацию. Собственно это общий показатель твоего ума. Говорила тебе мама в детстве - учись хорошо, нужно было слушать ее.
>>227701366 (OP) Петушонок, ты про сортировку листов слыхал хоть? Куда ты лезешь, блядина двухизвиленная, со своими задачками? Твой уровень - писать хэлоуворды и кофе приносить. Гугли в мсдн list.sort, там все разжевано за сотриторвку объектов с множеством параметров/полей.
>>227704896 Не угадывали. Я нагуглил. Решение уже давно там было. Просто для его использования надо было брать выделенный сервер (чтобы ставить свои расширения для PHP), поэтому я до последнего не хотел его использовать.
>>227705122 Нагуглил. Решение оказалось на хабре. Если для тебя оказалось сложным построить такую примитивную логическую цепочку, то что ты вообще делаешь в этом треде? Тебя же разорвет нахуй от сложности
>>227702334 >В том треде никто не смог посоветовать чего-то дельного. Я удивляюсь. На дваче якобы каждый второй программист 300/сек, но никто не может помочь с примитивными задачками. Господи, как же я проиграл.
Человек не может внятно связать двух слов, пишет какие-то бредни уровня "библиотеки на улице Герцена", а когда его чушь оставляют без внимания, объявляет всех вокруг дураками. Ну, клиника, блядь.
>>227705193 Тебе принцип объяснили. Делаешь параметры товара как текстовую строку. При выборе параметров пользователем сформировываешь строку параметров и ищешь её в БД.
Ору с треда, тупой птушник-оп на ломаном русском пытается объяснить че ему надо, в ответ справедливо получает ушат урины на ебло и переходит в кукареканье одной фразой. Довели аноны и без того не шибко умного придурка до исступления...
>>227705169 Шизфреник, вот тут >>227704591, ты прямо сказал, что хабр тебя понял и предложил тебе решение поставленной им тобой задачи. А теперь выясняется, что нихуя ты им не описывал, ты тупо гуглил.
Это четко подтверждает, что ты совершенно не можешь даже в простую формализацию и несешь хуету. Ты не можешь нормально выразить свою мысль, ты долбоеб.
>>227705115 Предположим, что фильтр три - количество ядер Фильтр 6 - цвет в ранжировке по нраву покупателя. Учитывая предыдущий запрос на цвет, из товаров имеющих 2 ядра, выбираешь наиболее близкий к нему. Наиболее близок к первому товару по баллам цвета товар три. Товар три имеет два ядра - выдаёшь его. Но это предложение на предположение. Это задача не на логику, а говно.
>>227705278 Ты долбаеб или хуй сосал? Состряпать селект я и так могу, проблема не в этом. Мне нужно понять по какому принципу выбирать разновидность, если под значение подходит несколько разновидностей.
Типичный пример, когда заказчик думает, что он неебаться технарь, и вместо того, чтобы показать, что ему надо в виде пары картинок, начинает нести псевдотехническую хуиту.
Вангую, что нужна группировка товаров по атрибутам, чтобы фильтры выводить + связка фильтров.
Ну, т.е. есть магазин с дилдаками, пользак заходит, у него в фильтрах длинные и короткие, и цвета красный, синий, зеленый. Выбирает длинные дилдаки, и в фильтрах остается только синий цвет, потому что красные и зеленые дилдаки - только короткие.
>>227705335 >ты тупо гуглил Да, ввел свою задачу теми же словами, которыми я объяснял суть проблемы на дваче, в гугл и сразу первой ссылкой попал на хабр, где было решение задачи. Получается, поисковая система умнее тебя, дауненок. Гордись.
>>227705345 Тут мы предположили, что атрибуты можно сравнивать. Если речь была бы про строки, а не количество ядер, то хуй бы мы их сравнили. Что атрибуты равноценные, у магазина нет задачи получить наибольшую прибыль/оставить наибольшее количество товаров на выбор. Что предыдущий выбор имеет влияние на вывод текущее товара. Задача - говно.
>>227705364 >Ну, т.е. есть магазин с дилдаками, пользак заходит, у него в фильтрах длинные и короткие, и цвета красный, синий, зеленый. Выбирает длинные дилдаки, и в фильтрах остается только синий цвет, потому что красные и зеленые дилдаки - только короткие. Почти то, но надо учесть, что это не в каталоге товаров, а на странице самого товара. Просто товар может иметь разновидности.
>>227705348 По-петушиному признаку - он тебе знаком: че лучще заходит в очко, то и пихаешь.
У нормальных людей, а не тупых петухов типа тебя, при выдаче по фильтру нескольких позиций, первой предлагается та, что лучще продается/имеет больше просмотров и т.д., потому что в магазах все подчинено ужержанию внимания клиентов. Поэтому в твоем случае каждый товар должкн иметь как минимум два скрытых от покупахи параметра - "продаваемость" и "кол-во просмотров". Продаваемость может быть в абсолютном значении за все времч или же какой-то месячный или там квартальный коэффициент.
>>227705534 ОП шизофреник, он не поймет тебя, а ты не понимаешь что он действительно хочет т.к. его текст это не отражение той каши, что у него вголове.
>>227705364 >Вангую, что нужна Бля, ты чё, с этого бобриного диалекта на нормальный русский переводить можешь? А ну, чего он имел в виду под >Учитывая предыдущий запрос на цвет, из товаров имеющих 2 ядра, выбираешь наиболее близкий к нему. "Наиболее близкий к предыдущему запросу на цвет"? "Наиболее близкий к цвету"? Я просто ору, блядь. Как будто нейросеть пишет на двач.
>>227705534 Смотришь на фильтр 6. Там у первого товара значение 6. Предположим, что значения можно сравнивать, ближайшее значение имеет третий товар в фильтре 6 - 4.
>>227705559 А и Б сидели на трубе. Выдели букву. Сможешь решить?
>>227705658 Читать пробовал? Я не ОП, и я уточнял у ОПа, сравнимы ли и равновесны ли параметры, являются ли количественными. С этими допущениями цвет сравнивать можно.
>>227705762 В итоге совладал. Ни один из вас, дурачков, не смог решить. Но на хабре решение нашлось. Получается, вы тут пиздаболы, все пиздите про свои 300к/сек, а на деле примитивную хуету решить не можете. Решение с хабра заняло 10 коротеньких строк, которые никто из вас не осилил.
Что заказчики, что консалты, что нам задачи ставят. Один тут нахуярил ТЗ на канцелярском языке, я ему говорю, мол, хули те херней страдаешь, просто напиши как есть, нарисуй пару картинок и норм. Ответ был в стиле "все так делают и я так делаю". Ну пиздец.
Кстати, в каталоге товаров или на странице - не принципиально, суть задачи от этого не меняется.
>>227705658 >Бля, ты чё, с этого бобриного диалекта на нормальный русский переводить можешь?
Любой, кто плотно работает в ынтерпрайзе может такое делать. Особенно консультанты, короче те, кто ТЗ пишут.
Я, например разработчик SAP, конкретно модуль BW. За 5 лет такого насмотришься, что тоже с бобриного переводить начнешь.
>>227705932 >Кстати, в каталоге товаров или на странице - не принципиально, суть задачи от этого не меняется. Во-первых, в каталоге у меня не разновидности товара, а сами товары. Во-вторых, там чекбоксы, а не кнопки.
>>227706020 А вот и еще один показатель его косноязычности. "Товар" у этого шизофреника не настоящий товар, а абстрактная общая категория. Но он этого не понимает, шизик у себя в голове придумал хуету и приисполнился чувством собственной важно, что он придумал такую "умную" вещь.
Видите тут есть параметры "изгиб", "толщина", "длина"? Посмотрите как при клике по кнопкам значения другие кнопки могут загораться, а могут и не загораться, в зависимости от того, какая разновидность товара имеется. Отсутствующие параметры становятся серыми, неактивными. Мне вот надо похожую логику.
>>227706266 Что поделать - ты тупой, косноязычный ПТУшник, твое выражение мыслей это отражение той каши, что у тебя в голове. Ты тупой но воображаешь себя умным.
>>227701974 >А по параметру 3-2 там аж три товара, так какой показывать? Логично предположить, что показывать все три товара, но без контекста это гадание на кофейной гуще. Опиши внятно реальный юз кейс, а то нихуя непонятно, что ты хочешь сделать.
>>227706422 >Видите тут есть параметры "изгиб", "толщина", "длина"? Посмотрите как при клике по кнопкам значения другие кнопки могут загораться, а могут и не загораться, в зависимости от того, какая разновидность товара имеется. Отсутствующие параметры становятся серыми, неактивными. Мне вот надо похожую логику. Ну так и реализуй похожую логику, в чём проблема?
>>227701366 (OP) Оп, помоему ты усложнил. Есть свойства. Свойства приналдлежат товарам.
Ты делаешь фильтр логический по выбранным свойствам, я хз как тебе удобнее иди по кешированному с базы кешу или каждый раз к базе обращаться, нахуя ты усложняешь не пойму, или поясни что не понял я.
>>227706673 Задаётся первый параметр. Выбираются все товары с ним, выводится список значений второго параметра. Выбирается первое значение второго параметра, выводятся все значения третьего параметра с сочетанием двумя первыми параметрами. Что общего между этим и твоей шизофазией?
>>227706804 Во-первых, там изначально выбирается некая разновидность по умолчанию. Во-вторых, как реализовать вот эту логику, чтобы при изменении одного значения скрипт сперва пытался искать указанную разновидность, а если не находил ее, то выводил ту, которая наиболее близко по количеству совпадений параметров? Опиши логику.
>>227706673 Чувак, там же всё максимум примитивно, что там доносить? Выбираешь товары по первому параметру (изгиб в твоём примере). Получаешь некое подмножество, берёшь из него все возможные значения остальных параметров. Если какого-то значения нет - отключаешь кнопку в интерфейсе. То же самое повторяешь для остальных фильтров. Мастер SQL, наверное, одним запросом это напишет, но я не мастер и мне лень, так что ебись.
>>227706953 >Во-первых, там изначально выбирается некая разновидность по умолчанию. Первое значение из возможных. Что указано тут >>227706804 >Во-вторых, как реализовать вот эту логику, чтобы при изменении одного значения скрипт сперва пытался искать указанную разновидность, а если не находил ее, то выводил ту, которая наиболее близко по количеству совпадений параметров? Опиши логику. >>227706804 Вот тебе логика.
>>227707088 >Пиздец ты пишешь. Весь первый абзац можно объяснить: есть сущность с 6 атрибутами. Как минимум один атрибут имеет значение. Ты упустил, что атрибут может иметь несколько значений.
>>227706804 >Выбирается первое значение второго параметра, выводятся все значения третьего параметра с сочетанием двумя первыми параметрами. А если по первому значению второго параметра нету разновидностей? То что тогда?
>>227707198 >А если по первому значению второго параметра нету разновидностей? То что тогда? Тогда первое значение второго параметра отключено по результатам предыдущей выборки.
Если структура БД спроектирована не через жопу, за один SQL запрос выгребаешь все сочетания атрибутов и наличий товара с ними, на одном артикуле большой объем данных не висит.
Дальше веб-макака дофильтровывает этот результат, в зависимости от нажатых кнопок.
Короче, таблицу перекладываешь в кнопочки (списки, чекбоксы, что хочешь), при нажатии из таблицы "вычеркиваешь" записи, смотришь, что осталось, обновляешь контролы.
Кстати, то, что ты хочешь, не работает даже в твоем примере. Там явно прослеживается иерархия изгиб -> длина -> толщина.
>>227707318 >Кстати, то, что ты хочешь, не работает даже в твоем примере. Там явно прослеживается иерархия изгиб -> длина -> толщина. Ок, что мне тогда делать?
>>227706819 Чел я знаю твой тип людей, вы очень любите усложнять и говорить - объяснять простые вещи на том уровне который комфортно понимать только вам.
Задача сводится к у товаров есть свойства - выбирая определенные свойства нужно иметь фильтр по товарам. Задача тривиальна, не хочу агриться но ты ее усложнил до каких то умопомрачительных высот.
>>227707515 Ну окей у свойств есть группы, и извини за агриться, я уважаю таких как ты, но задачка помоему решается проще. Ну а почему тебе не подходит простое логическое сито?
>>227707515 В том-то и дело, что задача совершенно в другом. ОП пишет запрос выдать все товары с таким-то значением такого атрибута. Таких товаров 3, он хочет, чтобы мы логически обосновали выбор одного из них.
То, что вместо алгоримов, структур данных, и проектирования БД, тебя на платных курсах научили формошлепству - это твои проблемы.
Если уже работаешь web-макакой - жди ТЗ от более квалифицированных людей, оставайся легкозаменяемым гребцом на галере. Можешь на ебаном поплакаться (ebanoe.it), там ты поддержку найдешь.
Понятно что в твоём примере в самом конце поста проблемы возникают только лишь при пустом пересечении по выделенным параметрам.
Попробуй придать коэффициенты значимости параметрам, и перебирать подмножества выделенных, ища непустое пересечение, выбираю то (непустое по предметам) подмножество, где сумма (возможно нормированная как тебе удобно) максимальна. Если ничего такого нет и ты веде нарываешься на пустые пересечения -- придётся выдать прошлый результат, предупредив об этом.
Также можно корректировать веса параметров в зависимости от последовательности их выбора.
Но больше всего меня позабавили горящие пуканы "опытных" разработчиков, которые по факту просто хуярят по ТЗ, а при столкновении с реальностью у них начинается попаболь.
Цените свои ПМов, консалтов, или кто вам там ТЗ пишет.
Они с такими, как ОП, каждый день дело имеют.
Шизу ОПа пойми, в тех. термины переложи, разработчику, ничего не понимающему в предметной области, объясни.
>>227707962 Бля WHERE statement. Можешь скешировать всевозможные варианты ТОВАРОВ со всеми свойствами >>227706234 (ну грубо говоря всю свою базу в хеш) как тут, главное по одной штуке, и сделать свои чудопереключатели которые перебирать будут уже по хешу.
Можешь не кешировать и where по базе, но имхо никакой "динамичности" не будет тогда, конечно нужно кешировать. Тебе нужно подумать как будет выглядеть товар один. Я предлагаю хешем где ключи это имена полей а значения - значения, массив хешей. Как во фронте реализовать не ебу честно. Смотря что ты юзаешь. Передаешь фронту массив джисонов(хешей) и выбираешь по фильтрам. Если параметры неизменны то можешь кодовое значение передавать, сделать для каждого словарь-таблицу со значениями в которую значения кодовые будут ссылаться за строковым значением, это если тебе нужно будет расширяться хорошенько. Или по простому, просто записывать строковые, но не наебись в символе, чтобы строки правильно сравнивать.
>>227708361 >Шизу ОПа пойми, в тех. термины переложи, разработчику, ничего не понимающему в предметной области, объясни. Но я так и сделал. И даже логику пытался найти в выборе одного из трёх элементов по одному параметру, спрашивая у ОПа про важность параметров, но ОП сказал, что это не решение.
>>227708451 Мне тут выше подсказали, что на том сайте, где я эти переключатели увидел, параметры имеют иерархию. Я это интуитивно чувствовал, но не был уверен. Кто распишет подробнее что у ни там и как?
>>227708695 Слушай ну вопросов я тут не вижу никаких, если ты хочешь чтобы тебе расписали методы которые нужны чтобы это реализовать, то тебе действительно рано заниматься написанием кода.
>>227708878 Потому что ты на себя подрываешься изза того что считаешь себя дохуя умным а на деле нихуя не добился. Продолжать? Ну расскажи про свою жизнь.
Несколько сумбурно написано, плюс по описанию создается впечатление линейного workflow. Что нужно обязательно в определенном порядке атрибуты выбирать. Я понимаю, что ты имел в виду, но впечатление именно такое.
Все сводится к фильтрации таблицы атрибутов и обновления состояния кнопочек в соответсвии с результатами.
>выгребаешь все сочетания атрибутов и наличий товара с ними
>таблицу перекладываешь в кнопочки (списки, чекбоксы, что хочешь), при нажатии из таблицы "вычеркиваешь" записи, смотришь, что осталось, обновляешь контролы.
>>227701366 (OP) я нихуя не понял но вообще вся эта фигня элементарно должна делаться перебором списка товаров с проверкой на то какие флаги есть на товаре, я бы это даже алгоритмом не назвал
Смотри это все твои, ваши сообщения. Ни одного факта, ни одного аргумента, даже попытки объяснить что ты имеешь ввиду. Посмотри на все сообщения, какую картину можно составить об этом человеке \ людях? Мне лень короче чтото пояснять, картина сама говорит за себя. АШеры к стати как раз стараются не брать таких как вы, с ними просто нереально работать в команде. Нахуй кому то человек который а- не может объяснить свою позицию, б - оскорбляет агрится и плодит хуевую атмосферу, ц - нихуя не делает (от вас не было ни одного поста решающего задачу, только какие то оскорбления) д - не перпдает опыт (сомневаюсь что есть что передавать)
Ну и какую охуенную историю ты мне рассказываешь про ашеров? Если ты такой на анонимной доске - ты такой в жизни. Может закусывать губу и терпеть себя в каких то моментах, но в целом ничего не изменится. Я не хочу и не буду тебе помогать советами, варись в этом если нравится.
>>227709033 Слушай ну в таком случае, я рад что я с тобой тоже не работаю. Удачи тебе в плюсовании. Алсо, покажи пропуск, это бейджик с конференции как и мерч.
>>227706234 Смотри отличие этого сайта с тем что ты написал: Нажимаешь на фильтр 6 значение 6 - активными остаются только 5-5,4-4,3-3,2-2,1-1. А остальные 30 ячеек становятся неактивными и ты физически не сможешь нажать на фильтр 3 значение 2. Он неактивен блядь. Вот и ответ на твой вопрос, просто не позволяй нажать 3-2, а если клиент решил обойти джаваскрипт - то проверяй ещё и на сервере.
Алсо поясняю логику сайта: Выбираешь изгиб D, толщина 0.12, длина 9-14. Потом переключаешь на С+, у которого нет толщины 0.12 совсем, но есть толщина 0.07 и длина 9-14. Казалось бы, выбирай 0.07 и 9-14, но хуй, в этом случае сайт тупо выбирает первые попавшиеся фильтры и значения слева (0.05 и 5-13). Потому что сайт запоминает фильтры и потом проверяет фильтры по порядку. 1. Сайт запоминает D,0.12,9-14, 2. Пользователь переключает на С. 3. Сайт ищет толщину 0.12 3.1. Толщина 0.12 не найдена, сбрасываем на 0.05, ищем длину 9-14 3.1.2. Длина 9-14 не найдена, сбрасывает на 5-13 3.1.3. Длина 9-14 найдена, выбираем. 3.2. Толщина 0.12 найдена, идем дальше, ишем длину 9-14 3.2.2. Длина 9-14 не найдена, сбрасывает на 5-13 3.2.3. Длина 9-14 найдена, выбираем.
Как видишь, здесь нет магии и комбинаций. Тупо фильтры проверяются по очереди, толщина проверяется всегда раньше длины. В то время как ты почему-то хочешь проверять фильтры в любом порядке, типа иногда длину раньше толщины проверить, иногда толщину раньше длины. Не еби мозг себе и пользователям, делай проще и просто расставь фильтры по приоритету.
>>227712638 ОП шизло не только внятно описать задачу не может , а даже просто предствить ее в голове. Задача уровня первых классов на перекладывание яблок, но шизик оп такого наворотил, что сам уже нихуя не понимает.