php实现表格
PHP实现表格的方法
在PHP中实现表格可以通过多种方式完成,包括直接输出HTML表格、使用数组动态生成表格、或结合数据库查询结果生成表格。以下是几种常见的实现方法:

直接输出HTML表格
<?php
echo "<table border='1'>";
echo "<tr><th>姓名</th><th>年龄</th></tr>";
echo "<tr><td>张三</td><td>25</td></tr>";
echo "<tr><td>李四</td><td>30</td></tr>";
echo "</table>";
?>
使用数组动态生成表格
<?php
$data = [
["姓名" => "张三", "年龄" => 25],
["姓名" => "李四", "年龄" => 30]
];
echo "<table border='1'>";
echo "<tr><th>姓名</th><th>年龄</th></tr>";
foreach ($data as $row) {
echo "<tr>";
echo "<td>" . $row["姓名"] . "</td>";
echo "<td>" . $row["年龄"] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
结合MySQL数据库生成表格
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT name, age FROM users";
$result = $conn->query($sql);
echo "<table border='1'>";
echo "<tr><th>姓名</th><th>年龄</th></tr>";
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>" . $row["name"] . "</td>";
echo "<td>" . $row["age"] . "</td>";
echo "</tr>";
}
} else {
echo "<tr><td colspan='2'>没有数据</td></tr>";
}
echo "</table>";
$conn->close();
?>
使用PHP生成CSV表格
<?php
$data = [
["姓名", "年龄"],
["张三", 25],
["李四", 30]
];
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="表格.csv"');
$output = fopen('php://output', 'w');
foreach ($data as $row) {
fputcsv($output, $row);
}
fclose($output);
?>
表格样式优化
可以结合CSS来美化表格:
<?php
echo "<style>
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
</style>";
// 表格内容代码...
?>
响应式表格实现
对于移动设备友好的响应式表格:
<?php
echo "<style>
@media screen and (max-width: 600px) {
table {
width: 100%;
}
td {
display: block;
}
td:before {
content: attr(data-label);
float: left;
font-weight: bold;
}
}
</style>";
// 表格内容代码...
?>
这些方法可以根据具体需求选择使用,从简单的静态表格到复杂的动态数据库驱动表格都可以实现。







