Topfer
Новичок
Всем постояльцам данного форума огромный привет!
Мучаюсь уже 2ой день со своей проблемой, может кто-нибудь более опытный, чем я сможет мне подсказать как решить данную задачу?
В общем решил я добавить на свой сайт расширенный фильтр объявлений и для этого мне пришлось скачать плагин дополнительных атрибутов (чтобы была возможность при публикации объявлений настраивать доп. поля, такие как: площадь, этаж, кол-во этажей в доме и т.д.).
Так вот все сделал кроме этого.
В фильтре я добавил возможность выбора диапазона этажей, на котором расположена квартира (к примеру с 1 по 30). И справа от этого поля поставил чекбокс "Не последний этаж".
Т.е. по сути при выборе этого поля фильтра должны показываться все объявления из заданного диапазона за исключением тех квартир, которые расположены на последнем этаже. А как составить такой запрос я ума не приложу.
Таблица имеет следующие поля:
pk_i_id - первичный ключ + автоинкримент
fk_i_item_id - ID - объявления
fk_i_field_id - ID атрибута
s_value - значение атрибута в объявлении
В качестве примера прикладываю данные из этой таблицы.
pk_i_id fk_i_item_id fk_i_field_id s_value
4 1 6 3
5 1 7 5
10 2 6 4
11 2 7 5
16 3 6 10
17 3 7 10
Где fk_i_field_id c ID = 6 - это этаж, на котором расположена квартира, а
fk_i_field_id с ID = 7 - кол-во этажей в доме.
Получается, что нужно составить объединенный запрос SELECT с выбором всех fk_i_item_id WHERE fk_i_field_id = 6 AND s_value BETWEEN 1 AND 30 и второй запрос где fk_i_field_id = 7 и s_value этажей в доме не равно этажу квартиры.
Вот как правильно написать такой запрос я даже ума не приложу...
Мучаюсь уже 2ой день со своей проблемой, может кто-нибудь более опытный, чем я сможет мне подсказать как решить данную задачу?
В общем решил я добавить на свой сайт расширенный фильтр объявлений и для этого мне пришлось скачать плагин дополнительных атрибутов (чтобы была возможность при публикации объявлений настраивать доп. поля, такие как: площадь, этаж, кол-во этажей в доме и т.д.).
Так вот все сделал кроме этого.
В фильтре я добавил возможность выбора диапазона этажей, на котором расположена квартира (к примеру с 1 по 30). И справа от этого поля поставил чекбокс "Не последний этаж".
Т.е. по сути при выборе этого поля фильтра должны показываться все объявления из заданного диапазона за исключением тех квартир, которые расположены на последнем этаже. А как составить такой запрос я ума не приложу.
Таблица имеет следующие поля:
pk_i_id - первичный ключ + автоинкримент
fk_i_item_id - ID - объявления
fk_i_field_id - ID атрибута
s_value - значение атрибута в объявлении
В качестве примера прикладываю данные из этой таблицы.
pk_i_id fk_i_item_id fk_i_field_id s_value
4 1 6 3
5 1 7 5
10 2 6 4
11 2 7 5
16 3 6 10
17 3 7 10
Где fk_i_field_id c ID = 6 - это этаж, на котором расположена квартира, а
fk_i_field_id с ID = 7 - кол-во этажей в доме.
Получается, что нужно составить объединенный запрос SELECT с выбором всех fk_i_item_id WHERE fk_i_field_id = 6 AND s_value BETWEEN 1 AND 30 и второй запрос где fk_i_field_id = 7 и s_value этажей в доме не равно этажу квартиры.
Вот как правильно написать такой запрос я даже ума не приложу...