[英]PHP MYSQL: 1st column as a header, second and third column as rows
我如何将列团队名称作为行的标题。 例如,我想使用 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/>";
}
}
您正在打印每一行的标题。 您可能需要跟踪当前和最后一行,查看团队是否从最后一行更改为当前,并且只打印该车的头部。 磷
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.