PHP/HTML を使用してテーブルを印刷しようとしています。次のように配列内に格納されたデータ:
Array ( [id] => 1 [first_name] => mike [last_name] => lastname )
私のコードは次のとおりです。実行され、エラーはありませんが、出力は期待どおりではありません。PHP/HTML コードは次のとおりです。
<table>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
<?php foreach ($res as $item): ?>
<tr>
<td><?php echo $item['id'] ?></td>
<td><?php echo $item['first_name'] ?></td>
<td><?php echo $item['last_name'] ?></td>
</tr>
<?php endforeach; ?>
</table>
私が得る結果は、アイテムの最初の文字です:
1 2 3
1 1 1
m m m
l l l
私が間違っているのかわかりませんか?説明をいただければ幸いです。
アップデート:
エラーのない PHP コード:
<?php
foreach ($result as $row)
{
echo '<tr>';
echo '<td>' . $row['id'] . '</td>';
echo '<td>' . $row['first_name'] . '</td>';
echo '<td>' . $row['last_name'] . '</td>';
echo '</tr>';
}
?>
そして、これは「行」が1つしかない私の配列です:
< PRE > タグでラップされた print_r($result) を使用した $result 変数の出力
Array
(
[id] => 3
[first_name] => Jim
[last_name] => Dude
)
これが私が得ている結果です:
実際のテーブル結果:
ID First Name Last Name
3 3 3
J J J
D D D
ただし、配列に 0 または 1 以上 (つまり 2 以上) がある場合は、完全に機能します。配列内に要素の「行」が1つしかない場合、機能しません。たとえば、この配列は完全に機能します。
Array
(
[0] => Array
(
[id] => 3
[first_name] => Jim
[last_name] => Dude
)
[1] => Array
(
[id] => 4
[first_name] => John
[last_name] => Dude2
)
)
私はこの結果を得ます:
ID First Name Last Name
3 Jim Dude
4 John Dude2
何が間違っているのかよくわかりません。アイデアは、テーブル内の項目数を変数に読み取ってから$result
、この変数を使用して HTML テーブル内のすべての要素を出力することを知りません。テーブルには、O 要素、1 行の要素、1 行以上の要素を含めることができます。