Как правильно обращаться к таблице . Несколькими запросами или одним?

olesya

Новичок
Как правильно обращаться к таблице . Несколькими запросами или одним?

Добрый день. Поискала ответ на свой вопрос. Предположу, что не так искала, но все же пришлось побеспокоить Вас.
Вопрос как правильно «работать» с данными, тоесть :

Есть у меня некая таблица (вернее вьюха) PostgreSQL. Таблица с большим кол-вом данных.
--Код_производителя --- Name_производителя--- Группа_товара ---- Страна_производителя

Пример данных:

_100--- Diff – Краска --- Россия
_100--- Diff – Шпаклевка --- Россия
_100--- Diff – Пенка --- Россия
_106--- Krall – Шпатель --- Россия
_106--- Krall – Краска --- Россия
_120--- Wals – Гвозди --- Греция
_120--- Wals – Обои --- Греция
_120--- ААК – Обои --- Вьетнам

На каждого производителя несколько групп товара (то есть имя и код производителя повторяются несколько раз) , на каждого производителя выводится страна производителя (получается что у нескольких производителей может быть одинаковая страна).

В самой страничке, которая написана на связке PHP + PostgreSQL должна быть форма фильтрации, А ниже отфильтрованный список должен выводиться.

А теперь вопросы
Фильтровать нужно по стране, по группе товара , как из этого списка мне выбрать не повторяющиеся значения для формы (именно для формы так как ниже я хочу выводить все отфильтрованные с повторениями)? Или мне нужно создавать отдельный запрос типа select from where group by или distinct на каждое поле формы. Тоесть обращаться несколько раз к таблице разными запросами ? и выводить эти значения для формы

Можно ли удалить повторяющиеся значения в php при выводе из в форму поиска . И правильное ли это решение ? Как это делать правильно ?
Как это реализовано допустим в поисковых системах _http://www.tyru.ru ? Я же там отбираю страну , мне появляются другие возможные параметры, отбираю период и высвечиваются возможные туры ..

Надеюсь суть вопроса изложена правильно
 

ybilevych

Новичок
1.Табличку нужно нормализовать - т.е. разделить на несколько связанных ключами таблиц. В твоем случае "Производитель", "Группа_Товара", "Страна", "Товар".
2. Для каждого комбобокса и вывода товаров делать выборку отдельным запросом
3. При выводе товаров в условия where запроса подставлять полученные из комбобоксов индексы

сайт http://www.tyru.ru , судя по-всему, использует AJAX
Для упрощения задачи можно перегружать страницу после выбора чего-то в комбобоксе
 
Сверху