Универсальные фильтры


У меня в голове сложилось наконец как организовать универсальные фильтры. Как сделать чтобы они были универсальные, чтобы они подходили ко всем лентам, чтобы для каждого пользователя сайт запоминал предыдущее состояние фильтра для данного конкретного места. Для каждого пользователя и для каждой ленты будет своя запись в бд. Для этого надо организовать бд, в которой будут столбцы: n,prinadlezhnost,идентификатор фильтра, тело фильтра. Где идентификатор фильтра - это его номер, соотнесённый со страницей, на которой он находится, например, с лентой статей или со списком людей или растений итд. Тело фильтра - это код значений фильтра, например, в формате json, состоящий из записей. В каждой записи должны быть поля: название Перед этим нужно понять: как эти поля будут использоваться. А для этого надо понять как будут работать фильтры. Во первых они должны быть аяксовые, то есть работать сразу. Еще они будут состоять из точек, галочек и инпутов. Весь смысл заключается в том, что в конечном итоге каждый фильтр это вставка в mysql запрос. Как передать (или переделать) json запрос в запрос в бд? Ведь каждый раз это будет по новому. Можно конечно сделать для каждого случая фиксированный запрос, что-то вроде массива. Или, может, фиксированными сделать какие-то отдельные элементы? Можно было бы пойти с другой стороны и сделать фильтр чисто на js. Но это невозможно потому, что я уже использую постепенно (по частям) загружаемые ленты. Что же делать? Может быть сделать типы фильтров и для каждого типа сделать типичное решение? Немного смущает то, что реализация такого слишком сложная. Да, разделяем на типичные ситуации и для каждой создаем свой набор данных. Это реально, ведь рнр пишу тоже я. Хотелось бы ещё добавить, что очевидно размещать фильтры надо в правом меню, потому что при изменении значения фильтра лента будет полностью перезагружаться.



<--Previous article | The following article-->
reviews

Enter Your review