Выборка e-mail'ов пользователей по значению поля в профиле

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
gunwitch
phpBB 1.2.0
Сообщения: 14
Стаж: 16 лет 7 месяцев
Благодарил (а): 1 раз

Выборка e-mail'ов пользователей по значению поля в профиле

Сообщение gunwitch »

Друзья, столкнулся вот с каким вопросом:

я создал у себя на форуме т.н. "custom profile fields" (дополнительные поля в профиле).
Одно из полей обязательно для заполнения и имеет тип "Dropdown box" (выпадающий список).

Вопрос:
как можно получить список email-адресов пользователей, выбравших одно определённое значение этого поля (одну из строк в списке)?

Грубо говоря, если при регистрации человек выбирает "Тип пользователя: пешеход / велосипедист / автомобилист", как мне получить список email-ов всех велосипедистов?

Видимо, нужен какой-то мудрёный SQL-запрос, но какой -- я просто ума не приложу... :?
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 6 месяцев
Благодарил (а): 37 раз
Поблагодарили: 1454 раза

Re: Выборка e-mail'ов пользователей по значению поля в профи

Сообщение Nekstati »

Код: Выделить всё

SELECT u.user_email
FROM phpbb_users AS u, phpbb_profile_fields_data AS f
WHERE f.user_id = u.user_id
AND f.pf_fieldname = 'пешеход'
Где fieldname — идентификатор поля.

В случае с выпадающим списком вместо словесного значения поля подставляйте номер (NULL = незаполненное поле, 1, 2, 3 и т. д.)
gunwitch
phpBB 1.2.0
Сообщения: 14
Стаж: 16 лет 7 месяцев
Благодарил (а): 1 раз

Re: Выборка e-mail'ов пользователей по значению поля в профи

Сообщение gunwitch »

Nekstati
Большое спасибо! Отлично сработало. Сам бы я до такой конструкции (AS u ... AS f) не догадался :)

Тем, кто озадачится похожим вопросом, может ещё быть полезно добавить вот такую строку в конец:

Код: Выделить всё

LIMIT 0 , 250
Второе число здесь (250) -- это сколько пользователей мы хотим видеть на одной странице с результатами вывода (так удобнее). После этого "Check All" и "Export" в кучу форматов на выбор.

Хотя не исключаю, что такая строка может потребоваться не всем (у меня рез-ты по умолчанию выводились по 30 шт.)

Вернуться в «Поддержка phpBB 3.0.х»