Я пытаюсь сделать настраиваемую и расширяемую систему профилей для моей CMS. С точки зрения пользователя это прямолинейно, но для администратора я хочу, чтобы все данные, включая данные профиля, были доступны для поиска. Поля профиля могут быть добавлены плагинами, которые также могут добавлять новые поля для поиска. Я не знаю, возможно ли то, что я пытаюсь сделать с MySQL, чтобы сделать эту работу, или если я пойду по ней совершенно неправильно.Выберите значение строки MySQL как заголовок столбца?
Таким образом, у меня есть пользователи, хранящиеся в одной таблице (пользователи), с столбцами для id, email, password и access_level.
У меня тогда есть другая таблица с информацией профиля (профилями), хранящейся как user_id, параметр и значение. Параметр может быть снова добавлен в отдельную таблицу (так что он не повторяется), но сейчас я оставлю это так.
Параметр и значение являются в основном данными профиля. Например, параметр может быть «age», а значение может быть «22».
Что я хочу попробовать и что делать, это выбрать таблицу users, с информацией о профиле, соединенной таким образом, чтобы параметр был сопоставлен с дополнительным столбцом. Так что в конце концов, как это так, прямо с MySQL:
id email password access_level age
1 [email protected] ***** 1 22
2 [email protected] ***** 2 25
3 [email protected] ***** 2 25
Я смотрел на сводных таблицах весь день, но из всех я могу видеть «столбец имени» предопределено. В этом случае я хочу, чтобы имя столбца поступало из самой строки.
Если это невозможно сделать с помощью одного запроса, какие другие методы существуют? Я использую PHP, если лучший способ - сделать это через это.
Любые предложения были бы очень признательны. :)