我正在尝试在外部页面上显示来自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";
之后,我有点不确定该做什么,因为如果我在那里包括组长,那么它只会过滤组长而不是整个组。
答案 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 |
+---------+----------+----------------+--------------+--------------+--------------+