我有以下查询:
SELECT * FROM teams
LEFT JOIN participants
ON teams.teamNo = participants.teamNo
ORDER BY teams.teamNo ASC查询显然会得到团队表中的所有团队,并且在参与者表中有匹配的参与者返回。并非每个团队都可能分配了参与者,但必须显示每个团队。
我想要像这样在同一页面上显示数据(注意团队2没有当前参与者,但仍显示:
Team 1:
- Participant 1
- Participant 2
- Participant 3
Team 2:
Team 3:
- Participant 1
- Participant 2我有以下数组从当前的SQL查询返回:
Array
(
[0] => Array
(
[TeamNo] => 1
[ParticipantFirstNames] => Katie
[ParticipantSurname] => Bloggs
)
[1] => Array
(
[TeamNo] => 1
[ParticipantFirstNames] => Jenny
[ParticipantSurname] => Ruffles
)
[2] => Array
(
[TeamNo] => 1
[ParticipantFirstNames] => Hannah
[ParticipantSurname] => Cox
)
[3] => Array
(
[TeamNo] => 2
[ParticipantFirstNames] =>
[ParticipantSurname] =>
)
[4] => Array
(
[TeamNo] => 3
[ParticipantFirstNames] => Alex
[ParticipantSurname] => Glover
)
[5] => Array
(
[TeamNo] => 3
[ParticipantFirstNames] => Karl
[ParticipantSurname] => Lawrence
)我相信我需要将它转换为一个有点像下面的数组,但我不知道如何在PHP中做到这一点:
array(
array( 'TeamNo' => '1',
'TeamParticipants' => array(
array( 'ParticipantFirstName' => 'Harry',
'ParticipantSurname' => 'Bloggs'),
array( 'ParticipantFirstName' => 'James',
'ParticipantSurname' => 'Car'))
)
array( 'TeamNo' => '2',
'TeamParticipants' => array() )
array( 'TeamNo' => '3',
'TeamParticipants' => array(
array( 'ParticipantFirstName' => 'Harry',
'ParticipantSurname' => 'Bloggs'),
array( 'ParticipantFirstName' => 'James',
'ParticipantSurname' => 'Car')
)
)
)我只是不能让我的头在数组可以有人帮助,或者我需要一个不同的查询在第一位?我使用PHP。