Как найти пользователя phpBB с настраиваемым полем, равным 1234? - PullRequest
2 голосов
/ 10 ноября 2011

У меня есть установка phpBB. Я добавил специальное поле профиля под названием «номер страховки» У каждого пользователя есть разные значения. Я хотел бы получить пользователя со значением, равным «1234».

Как получить пользователя по настраиваемому полю?

Ответы [ 2 ]

4 голосов
/ 10 ноября 2011

Сначала выполните:

SELECT * FROM phpbb_users LIMIT 1

Чтобы проверить имя настраиваемого поля.Это может быть insurancenumber, insurance_number и т. Д.

Такой запрос выберет ваши данные:

SELECT  u.user_id, u.username
FROM  phbb_users u
INNER JOIN phbb_profile_fields_data pf ON u.users_id = pf.users_id
WHERE u.`insurance number` = '1234'
2 голосов
/ 14 февраля 2013

Вместо того чтобы запускать сценарии для поиска полей пользовательского профиля, я просто использовал интерфейс администратора phpBB для получения имен полей. В phpBB3 admin GUI> вкладка «Пользователи и группы»> «Поля пользовательского профиля» в разделе «Пользователи» на левой панели навигации.

Данные поля Пользовательский профиль хранятся в таблице phpbb_profile_fields_data. Столбцы именуются с использованием идентификации поля с префиксом "pf_". Данные поля нашей компании хранятся в столбце pf_company таблицы phpbb_profile_fields_data.

SQL для получения списка имен пользователей с определенным значением в поле пользовательского профиля "company". Я использовал «Google» в качестве примера:

SELECT u.username 
FROM phpbb_users u 
INNER JOIN phpbb_profile_fields_data pf ON u.user_id = pf.user_id 
WHERE pf.pf_company = 'Google'
ORDER BY u.username
...