php编程实现表格
创建基本表格结构
在PHP中生成HTML表格可以通过直接输出HTML标签或结合循环动态生成。以下是一个静态表格的示例代码:
<?php
echo '<table border="1">';
echo '<tr><th>姓名</th><th>年龄</th><th>城市</th></tr>';
echo '<tr><td>张三</td><td>25</td><td>北京</td></tr>';
echo '<tr><td>李四</td><td>30</td><td>上海</td></tr>';
echo '</table>';
?>
动态生成表格数据
更常见的是从数据库或数组中动态生成表格内容。使用数组数据的示例:

<?php
$employees = [
['name' => '王五', 'age' => 28, 'city' => '广州'],
['name' => '赵六', 'age' => 35, 'city' => '深圳']
];
echo '<table border="1" cellpadding="5">';
echo '<tr><th>姓名</th><th>年龄</th><th>城市</th></tr>';
foreach ($employees as $employee) {
echo '<tr>';
echo '<td>'.$employee['name'].'</td>';
echo '<td>'.$employee['age'].'</td>';
echo '<td>'.$employee['city'].'</td>';
echo '</tr>';
}
echo '</table>';
?>
数据库数据生成表格
连接MySQL数据库并显示查询结果的表格:

<?php
$conn = new mysqli('localhost', 'username', 'password', 'database');
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo '<table class="data-table">';
echo '<tr><th>ID</th><th>姓名</th><th>邮箱</th></tr>';
while($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td>'.$row["id"].'</td>';
echo '<td>'.$row["name"].'</td>';
echo '<td>'.$row["email"].'</td>';
echo '</tr>';
}
echo '</table>';
} else {
echo "0 结果";
}
$conn->close();
?>
添加表格样式
可以为表格添加CSS样式增强视觉效果:
<?php
echo '<style>
.styled-table {
width: 100%;
border-collapse: collapse;
margin: 25px 0;
font-size: 0.9em;
font-family: sans-serif;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}
.styled-table thead tr {
background-color: #009879;
color: #ffffff;
text-align: left;
}
.styled-table th,
.styled-table td {
padding: 12px 15px;
}
.styled-table tbody tr {
border-bottom: 1px solid #dddddd;
}
</style>';
echo '<table class="styled-table">';
// 表格内容...
echo '</table>';
?>
分页显示表格数据
对于大量数据,可以添加分页功能:
<?php
$records_per_page = 5;
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$start_from = ($page-1) * $records_per_page;
$sql = "SELECT * FROM products LIMIT $start_from, $records_per_page";
$result = $conn->query($sql);
// 显示表格内容...
// 分页链接
$sql = "SELECT COUNT(id) AS total FROM products";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_pages = ceil($row["total"] / $records_per_page);
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='table.php?page=".$i."'>".$i."</a> ";
}
?>






