0

我正在尝试在外部页面上显示来自 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";

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

4

1 回答 1

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,则他们是组长。如果它包含 a0他们只是一个普通的组成员。

样本输出:

+---------+----------+----------------+--------------+--------------+--------------+
| 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 |
+---------+----------+----------------+--------------+--------------+--------------+
于 2013-05-17T13:30:22.010 回答