Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск по диапазонам / 3 сообщений из 3, страница 1 из 1
03.10.2013, 11:22:47
    #38415215
Vitalia72
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по диапазонам
Помогите пожалуйста разобраться!

Подставили задачу сделать поиск по диапазонам, к примеру есть длина и ширина, выбираем от и до значения длины, также по ширине. К примеру есть 3 коробки, у них длина от 500 до 800 и ширина от 300 до 500. Делаю вот такой запрос, предварительно получив значения через форму инпут:


"
SELECT `id`,`title`,`description`,`imagemini`,`naznachenie`,`nomer`,`razmer2_d`,`razmer2_h`,`razmer2_v`,`date`,'view_data.php' AS `file` FROM `data` WHERE razmer2_d BETWEEN '$search' AND '$search2'
UNION ALL
SELECT `id`,`title`,`description`,`imagemini`,`naznachenie`,`nomer`,`razmer2_d`,`razmer2_h`,`razmer2_v`,`date`,'view_data.php' AS `file` FROM `data` WHERE razmer2_h BETWEEN '$search3' AND '$search4' "

Он сперва получается ищет по длине все коробки, потом по ширине и складывает в результат. Проблема заключается в том, что программа выводит всё подряд по одному параметру, а не сравнивая их с длиной и шириной. То есть если есть коробка в длине, но её нет в ширине, то тогда выводить её не надо. В интернете не смог найти решение, может вы сможете дать какой нибудь совет. Ещё есть проблема то что он повторяет некоторые коробки, но это вроде как решается через DISTINCT. Заранее благодарен
...
Рейтинг: 0 / 0
03.10.2013, 11:40:23
    #38415242
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по диапазонам
Vitalia72, ЯННП.
Вам нужны коробки, удовлетворяющие сразу обоим условиям? тогда убирайте юнион и используйте AND в условии отбора.
...
Рейтинг: 0 / 0
03.10.2013, 11:56:16
    #38415279
Vitalia72
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск по диапазонам
tanglir,

Спасибо за ответ, решил свою проблему:

SELECT `id`,`title`,`description`,`imagemini`,`naznachenie`,`nomer`,`razmer2_d`,`razmer2_h`,`razmer2_v`,`date`,'view_data.php' AS `file` FROM `data` WHERE razmer2_d BETWEEN '$search' AND '$search2' AND razmer2_h BETWEEN '$search3' AND '$search4'
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск по диапазонам / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]