質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

589閲覧

tableの文字部分だけ表示されない!

h_n_k_774

総合スコア3

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/12/13 03:23

前提・実現したいこと

データベースからデータを持ってきてhtmlのtableにぶち込みたい
が,なぜか文字が表示されない…

該当のソースコード

php

1<!DOCTYPE html> 2<html lang="ja"> 3 4<head> 5 <meta charset="UTF-8"> 6 <link rel="stylesheet" href="../css/admin.css"> 7 <title>-ログイン-</title> 8</head> 9<body> 10 11 <input type="button" onclick="history.back()" value="ログアウト"> 12 13 <p>電源状況を見る <span id="span3"></span></p> 14 15 <form action="login_success.php" method="POST"> 16 <select name="machine" id="machine"> 17 <option value="log" selected>1号</option> 18 <option value="image">2号</option> 19 <option value="3">3号</option> 20 <option value="4">4号</option> 21 </select> 22 <input type="submit" name="battery" value="見る" onclick="clickBtn()"> 23 </form> 24 25 <?php 26 if(isset($_POST["battery"])) { 27 if($_POST["machine"] == "log"){ 28 29 //データベース接続 30 $dsn = 'mysql:host=localhost;dbname=○○;charset=utf8'; 31 $db_user = '○○'; 32 $db_pass = '○○'; 33 34 try { 35 $pdo = new PDO($dsn, $db_user, $db_pass); 36 } catch (PDOException $e) { 37 exit('データベース接続失敗。' . $e->getMessage()); 38 } 39 40 $date = []; 41 $time = []; 42 $capacity = []; 43 $place = []; 44 45 $query = "select * from log order by date desc"; 46 $stmt = $pdo->query($query); 47 $rec = $stmt->fetchAll(PDO::FETCH_ASSOC); 48 49 foreach ($rec as $row){ 50 $date[] = $row['date']; 51 $time[] = $row['time']; 52 $capacity[] = $capacity['capacity']; 53 $place[] = $place['place']; 54 } 55 56 ?> 57 <table border="1"> 58 <!--表の各項目名--> 59 <tr><th>日付</th><th>時間</th><th>電力</th><th>場所</th></tr> 60 <!--表の中身--> 61 <?php 62 for($i = 0; $i<count($date); $i++){ 63 echo "<tr>"; 64 echo "<td>$date[$i]</td>"; 65 echo "<td>$time[$i]</td>"; 66 echo "<td>$capacity[$i]</td>"; 67 echo "<td>$place[$i]</td>"; 68 echo "</tr>"; 69 } 70 ?> 71 </table> 72 73 <?php 74 75 echo "do-mo"; 76 77 }else if($_POST["machine"] == "image"){ 78 echo "hoge"; 79 }else{ 80 echo "hogehoge"; 81 } 82 } 83 ?> 84 85</body> 86</html> 87

試したこと

前回の質問したvalue値を使うところはうまくいっています.
本来,データベース内には

|date|time|capacity|place|
|2021-12-09|16:02:50|67.2%|4gpi|

となっていますが(見づらくてすみません表の書き方わからんかった…)
capacityとplaceだけ表示されないんです

どうしたら表示されますか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

capacityとplaceだけ表示されないんです

PHP

1 foreach ($rec as $row){ 2 $date[] = $row['date']; 3 $time[] = $row['time']; 4 // $capacity[] = $capacity['capacity']; 5 // $place[] = $place['place']; 6 $capacity[] = $row['capacity']; 7 $place[] = $row['place']; 8 } 9

投稿2021/12/13 03:27

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/12/13 03:29

ちゃんと読んでなかった。これですね。
h_n_k_774

2021/12/13 08:05

いやまさかそんな…と思いましたがこれですね、間違いなく。 書き替えたらしっかり表示されました! ちゃんと見直そうと思いました;;
guest

0

2回ループする必要ないかと思いますが、連想配列を扱う場合、そのまま入れてしまうと正しくパースできなかったと思います(エラー表示onにしたほうが良い)

変数と文字列の境目が分かりにくくなるので明示されたほうが良いと思います。

文字列連結するか
中括弧で囲うか

php

1echo "<td>".$hoge."</td>"; 2echo "<td>{$hoge}</td>";

複数行に渡るならヒアドキュメントのほうが読みやすくなります。

投稿2021/12/13 03:28

編集2021/12/13 03:47
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問