前提・実現したいこと
phpMyAdminに登録さているデータをWeb上で日付別の、平均、最大、最小、個数を表として表示したいです。
今回は、「SERVE」だけの日付別の、平均、最大、最小、個数を表表示したいです。
発生している問題
表の表示が上手くいきません。
テーブル内容(一部)
timestampss | swing_type | ball_speed |
---|---|---|
2021-07-03 | SERVE | 127 |
2021-07-03 | SERVE | 135 |
2021-07-03 | FOREHAND_SPIN_FLA | 119 |
2021-07-03 | FOREHAND_SPIN_FLA | 121 |
2021-07-04 | SERVE | 131 |
2021-07-04 | SERVE | 125 |
2021-07-05 | SERVE | 129 |
2021-07-06 | SERVE | 140 |
2021-07-06 | FOREHAND_SPIN_FLA | 112 |
該当のソースコード
php
<!DOCTYPE html> <html lang="ja"> <meta charset="utf-8"> <title>指導者</title> <link rel="stylesheet" href="register_senyou.css"> <body style="background-color: rgba(35, 175, 13, 0.577);"> </body> <h1 style="text-align:center">サーブデータ</h1> </body> </html> <?php $link = new mysqli('localhost','root','root','tennis'); // 接続状況をチェックします if (mysqli_connect_errno()) { die(mysqli_connect_error() . "\n"); } $db_selected = $link->select_db('tennis'); if (!$db_selected){ die(mysqli_error()); } mysqli_set_charset($link,'utf8'); // 接続成功した場合 if ($link) { // 文字化け防止 mysqli_set_charset($link,'utf-8'); $query = 'SELECT timestampss,AVG(ball_speed),MAX(ball_speed),MIN(ball_speed),COUNT(ball_speed) FROM tennis_table WHERE swing_type = "SERVE" GROUP BY timestampss'; // クエリを実行します $result = mysqli_query($link,$query); // 1行ずつ結果を配列で取得します while ($row = mysqli_fetch_array($result)) { $tennis_date[] = $row; } // 結果セットを開放します mysqli_free_result($result); // 接続を閉じます mysqli_close($link); // 接続失敗した場合 }else{ print 'DB接続失敗'; } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <style type="text/css"> table, table { margin-left: auto; margin-right: auto;} td, th { border: solid black 2px; } table { width: 1000px; } </style> </head> <body> <table> <tr> <th>日付</th> <th>ボールスピードの平均</th> <th>ボールスピードのMAX</th> <th>ボールスピードのMIN</th> <th>ショット数</th> </tr> <?php foreach ($tennis_date as $value) { $sql = 'SELECT * FROM tennis_table WHERE timestampss,AVG(ball_speed),MAX(ball_speed),MIN(ball_speed),COUNT(ball_speed)'; ?> <tr> <td><?php print htmlspecialchars($value['timestampss'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php print htmlspecialchars($value['AVG(ball_speed)'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php print htmlspecialchars($value['MAX(ball_speed)'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php print htmlspecialchars($value['MIN(ball_speed)'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php print htmlspecialchars($value['COUNT(ball_speed)'], ENT_QUOTES, 'UTF-8'); ?></td> </tr> <?php } ?> <br></br> </table> <br></br> <div class="container"> <div class='logout'> <a href='reader.html'>戻る</a></div> </body> </html>
まだ回答がついていません
会員登録して回答してみよう