Если бы вы позволили людям определять, кто может просматривать информацию о своих пользователях, как лучше всего хранить и получать доступ к этой информации?
Они будут устанавливать свои предпочтения любым из следующих способов:
- На основе пользователя (выберите конкретных пользователей - т.е. Блок: "Munch", "Dummy")
- Флажок на основе (выберите одну или несколько групп пользователей - т.е. «Мои друзья», «Любой в моей сети»)
- На основе радиокнопок (выберите только одну группу пользователей - т. Е. «Все»)
Моя текущая мысль заключается в том, что, поскольку информация относится к просматриваемому пользователю, а не к тому, кто щелкает по сайту, вам нужно будет сохранить эти параметры в базе данных и на основе любой конкретной комбинации результатов выполнить определенный запрос.
Единственная проблема в том, что может быть огромное количество разных запросов:
- 7 флажков могут иметь до 128 различных комбинаций (2 ^ 7)
- 128 комбинаций = 128 различных оптимизированных запросов
Похоже, что это неэффективно ни во время, затраченном на написание запросов, ни в количестве запросов для каждого просмотра страницы (запрос на запуск другого запроса ... blech!).
И поскольку я уверен, что это было сделано раньше, я чувствую, что должен что-то упустить из виду. Есть ли лучший способ сделать это с помощью PHP / MySQL?