PHPBB3组长在外部页面上排名第一

时间:2013-05-16 23:30:58

标签: php html phpbb3

我正在尝试在外部页面上显示来自phpbb3的组成员和组长。我可以成功显示所有成员,但我希望组长在顶部,就像phpbb3组列表显示或用户名以粗体显示,最好是第一个。

这就是我现在所拥有的:

$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";

之后,我有点不确定该做什么,因为如果我在那里包括组长,那么它只会过滤组长而不是整个组。

1 个答案:

答案 0 :(得分: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 |
+---------+----------+----------------+--------------+--------------+--------------+