[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Фильтр товаров для интернет магазина
nadir-ua
Здравствуйте, php программисты
Я разрабатываю интернет магазин http://viko.org.ua/

Для удобства пользователей, необходимо создать фильтр товаров.
Вот пример http://maxus.com.ua/katalog-tovarov/led-lenta.html
на магенту.

Мне до сих пор не понятно, какую структуру должна иметь база данных?
И логика

1) property (id_property, name_property)
    1 / Бренд
    2 / Тип цоколя
    3 / Температура
2) property_value (id_property_value, id_property, name_value)
    1 / 1 / Maxus
    2 / 1 / Global
    3 / 2 / E14
    1 / 2 / E27
    2 / 3 / 2700K
    3 / 3 / 4100K
3) goods_property(id_goods, id_property_value)
    1 / 1
    1 / 3
    1 / 4
    2 / 2
    2 / 4
    2 / 6
При такой структуре, я не могу сделать выборку
medvedeva
Если что, можете подсмотреть smile.gif

Цитата
http://maxus.com.ua/katalog-tovarov/led-lenta.html

сделан на http://ua.magento.com/ оупэнсурс
nadir-ua
Цитата (medvedeva @ 17.12.2012 - 08:38)
Если что, можете подсмотреть smile.gif

Цитата
http://maxus.com.ua/katalog-tovarov/led-lenta.html

сделан на http://ua.magento.com/ оупэнсурс

Я не люблю разбираться в чужом годе smile.gif
SlavaFr
Цитата (nadir-ua @ 17.12.2012 - 08:33)
При такой структуре, я не могу сделать выборку

точно опиши что ты хочешь выбрать и что не получается.
Цитата (nadir-ua @ 17.12.2012 - 08:45)
Я не люблю разбираться в чужом годе

Это ты написал для того, чтоб поднять мотивацию тем, кто тебе собирается помочь?

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
nadir-ua
Цитата (SlavaFr @ 17.12.2012 - 10:20)
точно опиши что ты хочешь выбрать и что не получается.

Самое элементарное 2 параметра

Допустим товары бренд Максус, с цоколем Е27

SELECT * 
SELECT distinct id_goods FROM `goods_property` WHERE `id_property_value` = 1 and `id_property_value` = 4


Не работает
Я пробовал добавлять поля, по характеристикам (Бренд, Цоколь, Температура),
в таком случае можно найти Максус с E27, но найти Максус, Глобал, Е27 уже проблематично.
И к тому же я получаю ограничение по характеристикам.
SlavaFr
SELECT distinct id_goods FROM `goods_property` WHERE `id_property_value` in (1,4)

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
nadir-ua
Цитата (SlavaFr @ 17.12.2012 - 13:37)
SELECT distinct id_goods FROM `goods_property` WHERE `id_property_value` in (1,4)

Не корректно, мне кажется без php здесь не обойтись.

В начале найти товары Максус, сохранить их в массив.

SELECT * 
SELECT distinct id_goods FROM `goods_property` WHERE `id_property_value` = 1


Потом найти товары с цоколем Е27

SELECT * 
SELECT distinct id_goods FROM `goods_property` WHERE `id_property_value` = 4


Далее сравнивать с массивом Максус, если id_goods совпадает, то показываем товар.
nadir-ua
Пока остановился на таком варианте
SELECT * FROM `goods_property` WHERE `id_property_value` in (1, 4, 6) GROUP BY id_goods HAVING COUNT(id_goods) = 3;
nadir-ua
http://absemetov.koding.com/php.php
nadir-ua
Фильтр товаров 2.0 http://viko.org.ua/catalog_275
I++
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/nadabsor/public_html/magazin/cart.php on line 364

Только 1 вопрос, зачем делать свое? Есть куча готовых продуктов, которые можно переделать под себя.

Главное правило: Пользователь враг и никому нельзя верить, даже кукисам smile.gif
spomoni
Цитата (I++ @ 7.02.2013 - 01:14)
Главное правило: Пользователь враг и никому нельзя верить, даже кукисам smile.gif

Совершенно верно. Это то существо, которое постоянно куда-то лезет непонятно зачем и делает непонятно что. Нужно все лишнее тщательно закрывать и проверять даже по несколько раз.
Valick
Цитата (spomoni @ 17.12.2015 - 08:20)
Это то существо, которое постоянно куда-то лезет непонятно зачем

вот мне тоже не понятно... зачем поднимать тему 13-го года smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
Valick
Цитата
Это то существо, которое постоянно куда-то лезет непонятно зачем и делает непонятно что.


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.