У меня есть следующий запрос:
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.