27.12.2014, 19:56
|
Интересующийся
|
|
Регистрация: 10.05.2009
Сообщений: 13
|
|
Реализация интерфейса универсального поиска по БД
День/вечер добрый!
Пытаюсь реализовать интерфейс универсального поиска по БД (количество полей поиска порядка 100). В прикрепленном файле скриншот того, что получается. Может кто уже реализовывал подобное и поделится опытом?
Интересует механизм формирования универсального запроса, точнее структура/ которую необходимо заполнять по мере работы с интерфейсом, чтобы потом с неё создать SQL запрос в БД. Что это за структура и как ее заполнять пока сам не придумал.
Хотелось бы спросить совета бывалых разработчиков. Может кто видел где подобное уже реализовано?
|
|
27.12.2014, 22:02
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Сообщение от Gloft
|
День/вечер добрый!
Пытаюсь реализовать интерфейс универсального поиска по БД (количество полей поиска порядка 100). В прикрепленном файле скриншот того, что получается. Может кто уже реализовывал подобное и поделится опытом?
Интересует механизм формирования универсального запроса, точнее структура/ которую необходимо заполнять по мере работы с интерфейсом, чтобы потом с неё создать SQL запрос в БД. Что это за структура и как ее заполнять пока сам не придумал.
|
ты спрашиваешь как добавлять условия в текст запроса?
|
|
27.12.2014, 22:19
|
Профессор
|
|
Регистрация: 12.04.2010
Сообщений: 557
|
|
Gloft,
Универсальный интерфейс поиска в БД - это, например, пхпмайадмин. Вдохновись им, и напиши бессмертное.
|
|
27.12.2014, 22:21
|
Интересующийся
|
|
Регистрация: 10.05.2009
Сообщений: 13
|
|
Нет, как добавить условие в текст запроса SQL я знаю.
Просто перед тем как создавать SQL запрос мне нужно собрать данные с полей/чекбоксов в нужном порядке и с нужными логическими функциями.
Вот как это сделать я пока не знаю.
|
|
27.12.2014, 22:24
|
Интересующийся
|
|
Регистрация: 10.05.2009
Сообщений: 13
|
|
Сообщение от Яростный Меч
|
Gloft,
Универсальный интерфейс поиска в БД - это, например, пхпмайадмин. Вдохновись им, и напиши бессмертное.
|
Админку к БД я писать не собираюсь. Подобные вещи не рассчитаны на людей далеких от информационных технологий и тонкостей работы с БД.
|
|
27.12.2014, 22:56
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Сообщение от Gloft
|
Нет, как добавить условие в текст запроса SQL я знаю.
Просто перед тем как создавать SQL запрос мне нужно собрать данные с полей/чекбоксов в нужном порядке и с нужными логическими функциями.
Вот как это сделать я пока не знаю.
|
как вариант, сформировать json для отправки
{"оператор": {"поле": "значение", ...}, ...}
так или как душе угодно
|
|
27.12.2014, 23:15
|
Интересующийся
|
|
Регистрация: 10.05.2009
Сообщений: 13
|
|
Сообщение от bes
|
как вариант, сформировать json для отправки
{"оператор": {"поле": "значение", ...}, ...}
так или как душе угодно
|
Приведи пример универсальной структуры json для следующих запросов:
(Р1 и Р2 и не Р3)
((Р1 и Р2) или (Р3 или Р4))
(Р1 или (Р2 и не Р3))
((Р1 или Р2) или не (Р3 и Р4))
где Р1, Р2 и т.д. условие поиска "поле": "значение"
|
|
27.12.2014, 23:22
|
|
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
Сообщение от Gloft
|
Приведи пример универсальной структуры json для следующих запросов:
(Р1 и Р2 и не Р3)
((Р1 и Р2) или (Р3 или Р4))
(Р1 или (Р2 и не Р3))
((Р1 или Р2) или не (Р3 и Р4))
где Р1, Р2 и т.д. условие поиска "поле": "значение"
|
{"and": {
p1,
p2,
"not": {
p3
}
}
дальше сам
|
|
27.12.2014, 23:41
|
Интересующийся
|
|
Регистрация: 10.05.2009
Сообщений: 13
|
|
Сообщение от bes
|
{"and": {
p1,
p2,
"not": {
p3
}
}
дальше сам
|
(Р1 и Р2 и не Р3)
{
"and": {
p1,
p2,
"not": {
p3
}
}
}
((Р1 и Р2) или (Р3 или Р4))
{
"or": {
"and": {
p1,
p2
}
"or": {
p3,
p4
}
}
}
(Р1 или (Р2 и не Р3))
{
"or": {
p1
"and": {
p2,
"not": {
p3
}
}
}
}
((Р1 или Р2) или не (Р3 и Р4))
{
"or": {
"or": {
p1,
p2
}
"not": {
"and": {
p3,
p4
}
}
}
}
Спасибо за совет, вроде сообразил.
|
|
|
|