0

CentOS 5.5 および PostgreSQL 8.4.6 で phpBB 3.0.7-PL1 (近日アップグレード予定) を使用しており、スパムを防止するために、新規ユーザーの登録時に次の追加の質問が表示されます。

What is your gender please? Answers: Robot/Man/Woman

データベースで対応するエントリを見つけました。

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」テーブルとフィールドにあるのかわかりません。誰か知っていますか?

ありがとうございました!アレックス

4

1 に答える 1

0

わかりました。ユーザーの性別を変更し、データベースダンプを比較することで、それを見つけました。これは、テーブル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);
于 2010-12-26T20:26:31.387 に答える