phpBB 3: поиск дополнительного пользовательского поля в базовой базе данных - PullRequest
0 голосов
/ 19 декабря 2010

Я использую phpBB 3.0.7-PL1 (обновление скоро) с CentOS 5.5 и PostgreSQL 8.4.6, и для их регистрации новым пользователям показывается следующий дополнительный вопрос для предотвращения СПАМА:Я нашел соответствующие записи в базе данных:

pref=> select * from phpbb_profile_lang;
 field_id | lang_id | lang_name |        lang_explain         | lang_default_value
----------+---------+-----------+-----------------------------+--------------------
        5 |       2 | Sex       | Please specify your gender  |
(1 row)

pref=> select * from phpbb_profile_fields_lang;
 field_id | lang_id | option_id | field_type | lang_value
----------+---------+-----------+------------+------------
        5 |       2 |         0 |          5 | Robot
        5 |       2 |         1 |          5 | Man
        5 |       2 |         2 |          5 | Woman
(3 rows)

Моя проблема: я хотел бы выяснить, какой пользователь Мужчина , а какой пользователь Женщина (Мне это нужно для игры, встроенной в мой форум на русском языке, чтобы я мог правильно обращаться к игрокам).

Но я не могу найти, где хранятся эти значения, в какой таблице и поле "phpbb_xxxx".Кто-нибудь знает, пожалуйста?

Спасибо!Alex

1 Ответ

0 голосов
/ 26 декабря 2010

Хорошо, я нашел его, изменив пол пользователя и проанализировав дамп базы данных - он находится в таблице phpbb_profile_fields_data

И я получил это значение в index.php с помощью:

$sql = 'SELECT pf_sex FROM ' . 
  PROFILE_FIELDS_DATA_TABLE . 
  ' WHERE user_id=' . $user->data['user_id'];
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
        $pf_sex = $row['pf_sex'];
$db->sql_freeresult($result);
...