2011-11-10 4 views
2

私はphpBBをインストールしています。私は '保険番号'というカスタムプロファイルフィールドを追加しました。すべてのユーザーがそこで異なる価値を持っています。私は1234と等しい値を持つユーザーを取得したいと思います。カスタムフィールドが '1234'のphpBBユーザーを見つける方法は?

カスタムフィールドでユーザーを取得するにはどうすればよいですか?

+1

あなたはデータベース構造を見ましたか?そこにあなたが照会するために正しいテーブル/フィールドを見つけるでしょう –

答えて

4

最初に実行します。

SELECT * FROM phpbb_users LIMIT 1 

は、カスタムフィールドの名前を確認するには。これは、このようなクエリは、あなたのデータを選択しますinsurancenumberinsurance_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

、私は単純にフィールドを取得するためのphpBB管理GUIを使用しました名前。 phpBB3の管理GUI>ユーザとグループタブ>左のナビゲーションのユーザセクションにある "カスタムプロファイルフィールド"

カスタムプロファイルフィールドのデータは、phpbb_profile_fields_dataテーブルに格納されます。列の名前は、フィールドIDに "pf_"という接頭辞を付けて指定します。当社の「会社」フィールドデータは、phpbb_profile_fields_dataテーブルのpf_companyカラムに格納されています。

"company"カスタムプロファイルフィールドに特定の値を持つユーザー名のリストを取得するためのSQL。私は例として "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 
関連する問題