テーブルにデータベース情報を入力する必要があります。しかし、エコーされたHTMLは、(テーブルの中で)私が行くと予想されるDOMに挿入されていません。代わりにテーブルの上に着きます。不思議なことに、それは<h1>
タグの下にあるので、コンテンツがページに読み込まれる前にエコーが起こっていないことがわかります。動的なコンテンツを検査テーブルのデータが内部ではなくテーブルの上にエコーする
は私のタグのいずれも含まれていないことを明らかにし、すべてのデータが1つの文字列としてダンプ。
私は間違って何をしているのですか、またはテーブルデータが実際にテーブルに格納されていることを確認する別の方法がありますか?
HTML
<h1>Contact Us Form Data</h1>
<table>
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Interest</th>
<th>Employment</th>
<th>City</th>
<th>State</th>
<th>Date</th>
</tr>
</thead>
<tbody>
<?php echo display_records() ?>
</tbody>
</table>
PHP
function fetch_records() {
$dbhost = "localhost";
$dbuname = "user";
$dbpass = "pass";
$dbname = "db_dev";
$conn = mysqli_connect($dbhost, $dbuname, $dbpass, $dbname);
$query = "
SELECT * FROM `contact_us_form`
";
return mysqli_query($conn, $query);
}
function record_to_html($record) {
$html = "<td>" .
"<tr>" . $record->first_name . "</tr>" .
"<tr>" . $record->last_name . "</tr>" .
"<tr>" . $record->email . "</tr>" .
"<tr>" . $record->interest . "</tr>" .
"<tr>" . $record->employment . "</tr>" .
"<tr>" . $record->city . "</tr>" .
"<tr>" . $record->state . "</tr>" .
"<tr>" . $record->date . "</tr>" .
"</td>";
return $html;
}
function display_records() {
$result = fetch_records();
$html = "";
while ($row = $result->fetch_object()) {
$html .= record_to_html($row);
}
return $html;
}
あなたはTDとTRを混合しています。 – FirstOne