У меня есть база данных в mysql. В приложении php я хочу создать текстовое поле и разрешить пользователям писать «запрос» для фильтрации данных в таблице.PHP: Каков наилучший способ создания языка запросов более высокого уровня для создания фильтра критериев в yii
Я хочу создать парсер запросов для пользователей, чтобы фильтровать данные, написав запрос. Например:
name="John" AND (age > 20 OR status = 1)
Нечто подобное. Это то, что пользователи набирают и нажимают кнопку поиска, и система создает запрос sql из «запроса», предоставленного пользователем, и возвращает результаты фильтрации. В приведенном выше примере, это создаст SQL запрос, как это:
SELECT * FROM users WHERE name="John" AND (age>20 OR status=1)
Я имею в виду разбор этого запроса с регулярным выражением и создать SQL из него. Есть ли лучший подход?
Regexp не является хорошим решением, напишите лексер вместо –
@MarkBaker Спасибо за ответ. Знаете ли вы что-нибудь, на что я должен пойти? Я понятия не имею, как начать. – Jamol
Создайте ввод формы, иначе пользователи могут ошибаться. – sln