[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по 3 значениям формы
wolfgang-abersdorf
Здравствуйте.
Возникла проблема с написанием скрипта поиска пользователя по ФИО введенного в одно поле.

Необходимо осуществлять поиск по Фамилии, Имени или Отчеству в совокупности совпадающими со значениями в БД.

В БД ФИО хранятся в разных полях.

$fam -Фамилия
$nam - Имя
$otch - Отчество

SQL
//Фильтр по фамилии
SELECT goodfeature_value FROM goods_features WHERE ID_FEATURE='1' AND goodfeature_value LIKE('%".$fam."%') AND ID_GOOD='11'"

//Фильтр по имени
SELECT goodfeature_value FROM goods_features WHERE ID_FEATURE='2' AND goodfeature_value LIKE('%".$nam."%') AND ID_GOOD='".$row['ID_GOOD']

//Фильтр по Отчеству
SELECT goodfeature_value FROM style='color:red'>".DB_PREFIX."goods_features WHERE ID_FEATURE='3' AND goodfeature_value LIKE('%".$otch."%') AND ID_GOOD='".$row['ID_GOOD']



Необходимо написать скрипт который осуществляет выбор пользователя по фамилии+ имени+ отчеству ,фамилии+ имени,Фамилии + отчеству ... влюбых комбинациях с максимальным совпадением



Спустя 17 минут, 55 секунд (2.07.2009 - 08:49) sergeiss написал(а):
Мне так кажется, что достаточно просто объединить условия через OR:

SQL
SELECT goodfeature_value FROM goods_features WHERE (ID_FEATURE='1' AND goodfeature_value LIKE('%".$fam."%') AND ID_GOOD='11'") OR (ID_FEATURE='2' AND goodfeature_value LIKE('%".$nam."%') AND ID_GOOD='".$row['ID_GOOD']) OR ( ID_FEATURE='3' AND goodfeature_value LIKE('%".$otch."%') AND ID_GOOD='".$row['ID_GOOD'])

Тогда при нахождении любого совпадения (хотя бы одного из трех) строка будет выбрана.
Вот тот же запрос, в более грамотном форматировании, но без подсветки кода:
Код
SELECT goodfeature_value
FROM goods_features
WHERE
(ID_FEATURE='1' AND goodfeature_value LIKE('%".$fam."%') AND ID_GOOD='11'")
OR
(ID_FEATURE='2' AND goodfeature_value LIKE('%".$nam."%') AND ID_GOOD='".$row['ID_GOOD'])
OR
( ID_FEATURE='3' AND goodfeature_value LIKE('%".$otch."%') AND ID_GOOD='".$row['ID_GOOD'])


PS. Ну и, конечно, надо с кавычками правильно разобраться при вставке в код скрипта.

Спустя 22 минуты, 19 секунд (2.07.2009 - 09:11) wolfgang-abersdorf написал(а):
sergeissСпасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.