2013-05-16 24 views
0

我試圖在phpbb3的外部頁面上顯示組成員和組長。我可以成功顯示所有成員,但相反,我希望小組負責人就像phpbb3小組列表顯示的那樣,或者用粗體顯示用戶名,最好是第一個。PHPBB3組長ontop在外部頁面

這就是我目前所面對的:

$sql = "SELECT phpbb_users.user_id, phpbb_user_group.group_id, phpbb_users.username, phpbb_profile_fields_data.pf_country, phpbb_profile_fields_data.pf_class FROM phpbb_users, phpbb_profile_fields_data, phpbb_user_group WHERE phpbb_user_group.group_id IN(23) AND phpbb_users.user_id = phpbb_profile_fields_data.user_id AND phpbb_users.user_id = phpbb_user_group.user_id ORDER BY phpbb_users.username"; 

那之後我有點不確定是什麼做的,因爲如果我有在那裏只會過濾組長,而不是整個組組長。

回答

0

使用此查詢:

$sql = "SELECT phpbb_users.user_id, phpbb_user_group.group_id, phpbb_users.username, phpbb_profile_fields_data.pf_country, phpbb_profile_fields_data.pf_class, phpbb_user_group.group_leader FROM phpbb_users, phpbb_profile_fields_data, phpbb_user_group WHERE phpbb_user_group.group_id IN(23) AND phpbb_users.user_id = phpbb_profile_fields_data.user_id AND phpbb_users.user_id = phpbb_user_group.user_id ORDER BY group_leader, phpbb_users.username";

這一個多列添加到您的列表的末尾:phpbb_user_group.group_leader和秩序由列,然後username。如果此列包含1,則它們是組長。如果它包含0他們只是一個常規組成員。

輸出示例:

+---------+----------+----------------+--------------+--------------+--------------+ 
| user_id | group_id | username  | pf_country | pf_class  | group_leader | 
+---------+----------+----------------+--------------+--------------+--------------+ 
|  123 |  23 | Person 3  |   US |   12 |   1 | 
|  543 |  23 | Person 1  |   UK |   13 |   0 | 
|  714 |  23 | Person 2  |   DE |   01 |   0 | 
+---------+----------+----------------+--------------+--------------+--------------+ 
+0

啊我根本就沒想到會是這樣簡單。所以我傻的。但是當ORDER BY時,它不應該是「phpbb_user_group.group_leader」而不是「group_leader」? – savasfreeman

+0

您可以使用表前綴,但由於您正在查詢的其他表中沒有包含名爲'group_leader'的列,因此不需要。 – Andy