| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > Компоновщик MYSQL запросов |
| Автор: maxipub 2.5.2014, 10:14 | ||||
| Добрый день! Ребята, подскажите, какие есть инструменты для сабжа? Предположим, у нас есть некий запрос. Скажем, это форум, и запрос выводит список пользователей, которые оставляли сообщения в определенном разделе форума. Это наш исходных запрос. Далее, на страничке размещаются дополнительные фичи, которые уточняют этот исходный запрос, например, все тот же "вывод списка пользователей, которые оставляли сообщения в определенной разделе форума": - за последний месяц; - эти сообщения - новые темы; - сортировать по дате сообщения; - сортировать по дате обновления топиков с этими сообщениями. И т.д., иными словами, имеем исходный запрос, который не изменяется, а дополняется некоторыми условиями. Можно сделать ряд однотипных запросов, которые будут срадабывать по условию... но хотелось бы как-то красивее. Думаю, должны существовать некие компоновщики запросов? За терминологию и возможное невежество не судите строго, самоучка. Пока единственное, что пришло на ум, собирать запрос через массив. Будет некоторая избыточность, но, в общем, должно работать. Где-то так:
Если имеются модификаторы, мы их просто добавляем в массив, например:
Ну и дальше по логике из массива компонуем SQL запрос. Это пока только задумка. Уверен, есть практические реализации, вот их и хотел бы посмотреть, зачем изобретать велосипед? Лучше взять за основу готовый. |
| Автор: Aliance 5.5.2014, 10:27 |
| Можно использовать Zend_Db, т.к. компоненты zend framework можно использовать по-отдельности. И, кстати, вариант с where не самый лучший, т.к. нужно заботиться об экранировании. Лучше в таком случае использовать placeholder`ы (смотри в сторону PDO) |