前提・実現したいこと
データベースからデータを持ってきてhtmlのtableにぶち込みたい
が,なぜか文字が表示されない…
該当のソースコード
php
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="../css/admin.css"> <title>-ログイン-</title> </head> <body> <input type="button" onclick="history.back()" value="ログアウト"> <p>電源状況を見る <span id="span3"></span></p> <form action="login_success.php" method="POST"> <select name="machine" id="machine"> <option value="log" selected>1号</option> <option value="image">2号</option> <option value="3">3号</option> <option value="4">4号</option> </select> <input type="submit" name="battery" value="見る" onclick="clickBtn()"> </form> <?php if(isset($_POST["battery"])) { if($_POST["machine"] == "log"){ //データベース接続 $dsn = 'mysql:host=localhost;dbname=○○;charset=utf8'; $db_user = '○○'; $db_pass = '○○'; try { $pdo = new PDO($dsn, $db_user, $db_pass); } catch (PDOException $e) { exit('データベース接続失敗。' . $e->getMessage()); } $date = []; $time = []; $capacity = []; $place = []; $query = "select * from log order by date desc"; $stmt = $pdo->query($query); $rec = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($rec as $row){ $date[] = $row['date']; $time[] = $row['time']; $capacity[] = $capacity['capacity']; $place[] = $place['place']; } ?> <table border="1"> <!--表の各項目名--> <tr><th>日付</th><th>時間</th><th>電力</th><th>場所</th></tr> <!--表の中身--> <?php for($i = 0; $i<count($date); $i++){ echo "<tr>"; echo "<td>$date[$i]</td>"; echo "<td>$time[$i]</td>"; echo "<td>$capacity[$i]</td>"; echo "<td>$place[$i]</td>"; echo "</tr>"; } ?> </table> <?php echo "do-mo"; }else if($_POST["machine"] == "image"){ echo "hoge"; }else{ echo "hogehoge"; } } ?> </body> </html>
試したこと
前回の質問したvalue値を使うところはうまくいっています.
本来,データベース内には
|date|time|capacity|place|
|2021-12-09|16:02:50|67.2%|4gpi|
となっていますが(見づらくてすみません表の書き方わからんかった…)
capacityとplaceだけ表示されないんです
どうしたら表示されますか
まだ回答がついていません
会員登録して回答してみよう