Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выборка из нескольких значений
 
 автор: renat   (14.11.2013 в 18:30)   письмо автору
 
 

Допустим есть таблица type

id type

В которую заносятся всевозможные характеристики товаров

Допустим есть таблица product_type

id id_product id_type

Под id_product записывается номер товара в базе
Под id_type некая характеристика товара из таблицы type

Можно ли каким нибудь спосробом отсортировать товары сразу по нескольким характеристикам
Что то навроде этого, но это не работает

"SELECT id_product FROM product_type WHERE id_type='5' and id_type='13'"

То есть как можно сделать вертикальную выборку?

  Ответить  
 
 автор: renat   (14.11.2013 в 22:19)   письмо автору
 
   для: renat   (14.11.2013 в 18:30)
 

Или, если это сделать не возможно, подскажите, как можно организовать выбор товара по нескольким параметрам, т.е как делают интернет магазины с подбором характеристик профессионалы?

Сейчас я использую массивные таблици с множеством столбцов, где в каждый товар заношу конкретную характеристику. Мои таблицы выглядят на вроде этой:

№, название, страна, цвет, призводитель, и пр.

Выборку делаю так:

"SELECT id FROM product WHERE страна='5' and цвет='13' and призводитель='3' и т.д."

Проблема в том, что различных товаров множество и под каждый вид товара приходится делать индивидуальную таблицу. Хотелось бы организовать это проще, как в предыдущем сообщение, но не получается.

  Ответить  
 
 автор: confirm   (15.11.2013 в 04:57)   письмо автору
 
   для: renat   (14.11.2013 в 22:19)
 

Характеристики, их именование, должны находиться в отдельной таблице, например
property_id property_name
1 Размер
2 Цвет
....
и т.д., сколько угодно

Описание этих характеристик находит в другой таблице, в которой по мимо этого есть связи с таблицей именования характеристик и объектом обладающим характеристиками, то есть

object_id property_id property_description
1 1 XXL
1 2 Зеленый
2 1 XL
2 2 Синий
.....

Таблица объектов, не важно что это, товары или абстракция, только связана по object_id с таблицей описания характеристик, и чтобы получить все, нужно при обращении к таблице объектов делать запрос к таблице описания характеристик и их наименований (объединение LETF JOIN).

Вы промахнулись с разделом, это вопросы баз данных, и в разделе о них можете найти более подробное описание.

  Ответить  
 
 автор: Владимир55   (14.11.2013 в 22:30)   письмо автору
 
   для: renat   (14.11.2013 в 18:30)
 

Можно сортировать по нескольким полям, причем для каждого указать порядок сортировки именно по этом полю. В этом случае совпадающие значения по первому полю будут отсортированы по второму полю:
SELECT * FROM articles ORDER BY a_title ASC, a_date DESC


(Если Вы работаете с базой данных, то это другой раздел Форума).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования