我正在制作一个运动解决方案,通过播放到网页从游戏中检索数据。 现在我被困在一个时刻从mysql数据库中检索玩家名称,放入boxscore表(已完成),然后根据此名称检索所有统计数据。 例如 - 他创造了多少分,与他的名字相关的助攻数等等。
最后我想得到这种表格(所有格式化/造型完成并准备就绪):
这是一个php代码,问题基于“echo”点。 我无法找到正确的方法来计算多少助攻a.e.玩家在同一个请求中制作。
<?php
require "connection.php";
$game_id = 1760;
$player = 'KURBANOV, NIKITA';
$team = 'CSKA Moscow';
$stmt = $pdo->prepare('SELECT * FROM game_results WHERE game_id = :game_id AND team = :team AND action = "Assist" ORDER BY player DESC');
$stmt->execute(array('game_id' => $game_id, 'team' => $team ));
$result = $stmt -> fetchAll();
echo '<table class="table table-condensed table-hover"><tbody>';
echo '<thead>
<tr>
<th>Name</th>
<th>POS</th>
<th>MIN</th>
<th>PTS</th>
<th>OREB</th>
<th>DREB</th>
<th>TREB</th>
<th>AST</th>
<th>STL</th>
<th>TOV</th>
<th>Fm</th>
<th>Fc</th>
</tr>
</thead>';
foreach( $result as $row ) {
echo '<tr>';
echo '<td>'.$row['player'].'</td>';
echo '<td>'.$row['action'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '<td>'.$row['game_id'].'</td>';
echo '</tr>';
}
echo '</tbody></table>';
这是db数据示例:
答案 0 :(得分:0)
编辑完成后我想我猜想你想做什么。
您想要计算您在特定玩家的桌面和特定行动中拥有的次数。
SELECT player,
Count(CASE action
WHEN 'Assist' THEN 1
ELSE 0
end) AS assists,
Count(CASE action
WHEN '<other case>' THEN 1
ELSE 0
end) AS other_case
FROM `game_results`
WHERE 1
GROUP BY player
上面的SQL Select应该做你想做的事情,用你曾经拥有的东西替换other case
。
编辑:
您应该能够像以前一样打印出来:
<?php
// your other code ...
echo '<table class="table table-condensed table-hover"><tbody>';
echo '<thead>
<tr>
<th>Name</th>
<th>assists</th>
<th>other case</th>
</tr>
</thead>';
foreach( $result as $row ) {
echo '<tr>';
echo '<td>'.$row['player'].'</td>';
echo '<td>'.$row['assits'].'</td>';
echo '<td>'.$row['other_case'].'</td>';
echo '</tr>';
}
echo '</tbody></table>';