我正在寻找一种方法,在加载html文档时通过PHP填充HTML表格。
我有一个php文件,可以创建所需的表数据:
echo <table id="mytable" ... </table>
此PHP脚本的输出应在加载时写入html文件。
有没有办法实现这个目标?也许通过JavaScript?
答案 0 :(得分:0)
这将帮助您入门
<table>
<thead>
<tr>
<th>Row One</th>
<th>Row Two</th>
</tr>
</thead>
<tbody>
<?php foreach( $array as $key ) { ?>
<tr>
<td><?php echo $key[ 'rowOne' ]; ?></td>
<td><?php echo $key[ 'rowTwo' ]; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
循环遍历数组中的每一行,并回显您需要的信息。你真的需要做一些PHP教程,你将了解如何循环数组。
答案 1 :(得分:0)
如果您有按行优先顺序存储的数据(也就是说,您的数据是数据的行而不是列的数组),则必须跟踪要打印的列。这是从MySQL数据库接收数据的典型方法。
您可以使用$columns = array_keys($row)
通过查看第一行来完成此操作,或者如果预先知道列键,则可以像下面的示例中那样简单地对列键进行硬编码。
<?php
$data = [
[
"name" => "Alice",
"email" => "alice@example.com",
"home_address" => "Alice Lane 61"
],
[
"name" => "Bob",
"age" => 16,
"home_address" => "Bob St. 42"
]
];
$columns = [ "name", "age", "email", "home_address" ];
?>
<html>
<body>
<table>
<tr>
<?php foreach($columns as $column) { ?>
<th><?php echo $column; ?></th>
<?php } ?>
</tr>
<?php foreach ($data as $row) { ?>
<tr>
<?php foreach($columns as $column) { ?>
<td>
<?php
if (isset($row[$column])) {
echo $row[$column];
} else {
echo "N/A";
}
?>
</td>
<?php } // end $column foreach ?>
</tr>
<?php } // end $row foreach ?>
</table>
</body>
</html>
请注意,此处并非所有行都具有相同的列。这在表的if语句中处理。
此示例输出:
<html>
<body>
<table>
<tr>
<th>name</th>
<th>age</th>
<th>email</th>
<th>home_address</th>
</tr>
<tr>
<td>Alice </td>
<td>N/A </td>
<td>alice@example.com </td>
<td>Alice Lane 61 </td>
</tr>
<tr>
<td>Bob </td>
<td>16 </td>
<td>N/A </td>
<td>Bob St. 42 </td>
</tr>
</table>
</body>
</html>