我如何将列teamname作为行的标题。例如,我想使用PHP:输出这个结果
*********沙尘暴2:**
summonername2
summoner 1
summoner 2
summoner 3
summoner 4
5号团队
Summoner 1
Summoner 1
这是我用PHP编写的代码。到目前为止,它输出了意想不到的结果。
$query = "SELECT players.id, team.teamname, players.summonername
from team
INNER JOIN players ON players.team = team.id
WHERE team.tourneyid = {$id}";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_assoc($result)) {
if($i == 0) {
$heading .= "<h3>". $row['teamname'] ."</h3><table class='table'><tr><th>Summonername</th><th>rank</th></tr>";
}// team header
$teams .= "{$heading}<tr><td>". $row['summonername'] ."</td><td>rank</td></tr>";
$i++;
}
作为一种替代方案,您也可以使用team name
作为键来收集分组内的所有值。
在你收集了它们之后,然后相应地呈现它们:
$query = "
SELECT players.id, team.teamname, players.summonername
FROM team
INNER JOIN players ON players.team = team.id
WHERE team.tourneyid = {$id}
";
$teams = array();
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_assoc($result)) {
$team_name = $row['teamname'];
$summoner_name = $row['summonername'];
$teams[$team_name][] = $summoner_name; // continually push same team names under a container
}
// then for presentation
foreach($teams as $team_name => $summoners) {
echo "<h3>{$team_name}</h3><br/>";
foreach($summoners as $summoner) {
echo "<p>{$summoner}</p><br/>";
}
}
您正在打印每一行的标题。你可能需要同时跟踪当前和最后一排,看看团队是否从最后一排变成了当前,并且只在车上打印头部。P