|
|
|
Как создать базу данных, для современного фильтра интернет-магазина
|
|||
|---|---|---|---|
|
#18+
Вопрос такой. Есть таблица с товаром и в ней есть 15 столбцов с характеристиками этого товара, по которым может вестись поиск (цвет, материал ...) Вот есть фильтр в интернет магазинах (к примеру на Яндекс маркете и в многих других магазинах) и там в фильтре отображаются только те характеристики товара, которые уже присутствуют в размещенных в таблице товаров. Пример: В таблице есть рубашка синего и красного цвета, размера 32 и 35, из хлопка, с пуговицами. Так вот и в фильтре будут доступны для выбора только красные и синий цвет, только размер 32 и 35, только материал хлопок ... . Понятно что фильтр делается средствами php. Но как они узнают все уникальные значения каждого столбца. Ведь не делают они 15 запросов к таблице чтобы узнать уникальные значения каждого столбца. Т.е. как получить одним запросом все уникальные значения с характеристиками товара, которые содержаться в таблице. Как это делается? В смысле, в какую сторону копать? Причем такие фильтры очень распространены, есть ли какое-то стандартное решение? Или это надо какие-то дополнительные таблицы, но мне что-то на ум ничего не приходит адекватного... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 08:42:13 |
|
||
|
Как создать базу данных, для современного фильтра интернет-магазина
|
|||
|---|---|---|---|
|
#18+
billizzardЕсть таблица с товаром и в ней есть 15 столбцов с характеристиками этого товара,а потом появится ещё 16 характеристик... прочитайте про EAV и не изобретайте лыжный самокат на воздушной подушке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 08:46:27 |
|
||
|
Как создать базу данных, для современного фильтра интернет-магазина
|
|||
|---|---|---|---|
|
#18+
Существует еще "фасетный поиск", но как он устроен изнутри - не знаю, всегда пользовался готовым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2015, 09:12:35 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=133&tid=1833048]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 193ms |
| total: | 326ms |

| 0 / 0 |
