строки вокруг or это я могу поставить, обьясняю:
я делаю поиск по условиям, пользователь выбирает условия и к каждому условию And/Or получается
a=2 OR
b=1 AND
c=6 OR
d=7 AND
e=9 AND
...
и так далее
по этим условиям нужно составить запрос SQL, логика "a OR b AND c OR d AND e" -> в выражение " SELECT ... WHERE (a OR b ) AND (c OR d) AND e ..."
собственно так, мой работает смотря "а что там слева" и "а что там справа" + куча regexp'a и if'ов и размером примерно с 2 страницы на 19* мониторе.
"вначале там, где встречается OR, "спускаетесь". Потом идете снизу вверх, попутно оборачивая выражения в скобки."
+ в этом чтото есть, нужно сделать дерево от OR в виде ассоциативного массива.. попробую
попробую и другие варианты но они както меньше внушают оптимизм
так а что, выражение всегда одинаковое?
а если юзер подразумевал
a OR ( b AND c ) OR ( d AND e )
то как быть?
приоритет OR выше AND, (т.е OR в скобках "притягиваются", и области просто склеены AND, крайтие варианты вроде "только OR" или "только AND" вычислаются IF'ами чтобы всё выражение не было вскобках и т.п.)