nadir-ua
17.12.2012 - 12:33
Здравствуйте,
php программистыЯ разрабатываю интернет магазин
http://viko.org.ua/Для удобства пользователей, необходимо создать фильтр товаров.
Вот пример
http://maxus.com.ua/katalog-tovarov/led-lenta.htmlна магенту.
Мне до сих пор не понятно, какую структуру должна иметь база данных?
И логика
1) property (id_property, name_property)
2) property_value (id_property_value, id_property, name_value)
3) goods_property(id_goods, id_property_value)
При такой структуре, я не могу сделать выборку
medvedeva
17.12.2012 - 12:38
Если что, можете подсмотреть
Цитата |
http://maxus.com.ua/katalog-tovarov/led-lenta.html |
nadir-ua
17.12.2012 - 12:45
Цитата (medvedeva @ 17.12.2012 - 08:38) |
Если что, можете подсмотреть
Цитата | http://maxus.com.ua/katalog-tovarov/led-lenta.html |
|
Я не люблю разбираться в чужом годе
SlavaFr
17.12.2012 - 14:20
Цитата (nadir-ua @ 17.12.2012 - 08:33) |
При такой структуре, я не могу сделать выборку |
точно опиши что ты хочешь выбрать и что не получается.
Цитата (nadir-ua @ 17.12.2012 - 08:45) |
Я не люблю разбираться в чужом годе |
Это ты написал для того, чтоб поднять мотивацию тем, кто тебе собирается помочь?
_____________
↓↓↓↓↓↓↓↓↓↓ответ может быть здесьили в mysql_error();
nadir-ua
17.12.2012 - 17:11
Цитата (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
17.12.2012 - 17:37
SELECT distinct id_goods FROM `goods_property` WHERE `id_property_value` in (1,4)
_____________
↓↓↓↓↓↓↓↓↓↓ответ может быть здесьили в mysql_error();
nadir-ua
17.12.2012 - 17:50
Цитата (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
23.12.2012 - 18:51
Пока остановился на таком варианте
SELECT * FROM `goods_property` WHERE `id_property_value` in (1, 4, 6) GROUP BY id_goods HAVING COUNT(id_goods) = 3;
Warning:
mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/nadabsor/public_html/magazin/cart.
php on line 364
Только 1 вопрос, зачем делать свое? Есть куча готовых продуктов, которые можно переделать под себя.
Главное правило: Пользователь враг и никому нельзя верить, даже кукисам
spomoni
17.12.2015 - 09:20
Цитата (I++ @ 7.02.2013 - 01:14) |
Главное правило: Пользователь враг и никому нельзя верить, даже кукисам |
Совершенно верно. Это то существо, которое постоянно куда-то лезет непонятно зачем и делает непонятно что. Нужно все лишнее тщательно закрывать и проверять даже по несколько раз.
Valick
17.12.2015 - 09:30
Цитата (spomoni @ 17.12.2015 - 08:20) |
Это то существо, которое постоянно куда-то лезет непонятно зачем |
вот мне тоже не понятно... зачем поднимать тему 13-го года
_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
17.12.2015 - 09:37
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