当前位置:首页 > PHP

php实现动态表格

2026-02-16 04:54:53PHP

PHP 实现动态表格的方法

从数据库动态生成表格

连接数据库并查询数据,将结果渲染为 HTML 表格:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    echo "<table border='1'><tr><th>ID</th><th>Name</th><th>Email</th></tr>";
    while($row = $result->fetch_assoc()) {
        echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["email"]."</td></tr>";
    }
    echo "</table>";
} else {
    echo "0 results";
}
$conn->close();
?>

通过数组动态生成表格

使用 PHP 数组数据生成表格:

<?php
$employees = [
    ["John", "Doe", "john@example.com"],
    ["Jane", "Smith", "jane@example.com"],
    ["Bob", "Johnson", "bob@example.com"]
];

echo "<table border='1'>";
echo "<tr><th>First Name</th><th>Last Name</th><th>Email</th></tr>";

foreach ($employees as $employee) {
    echo "<tr>";
    foreach ($employee as $cell) {
        echo "<td>$cell</td>";
    }
    echo "</tr>";
}

echo "</table>";
?>

添加动态交互功能

实现可编辑的动态表格:

<?php
// 假设数据来自数组
$products = [
    ["Product 1", 10.99, 5],
    ["Product 2", 24.50, 3],
    ["Product 3", 5.25, 8]
];

echo "<form method='post'>";
echo "<table border='1'><tr><th>Name</th><th>Price</th><th>Quantity</th><th>Action</th></tr>";

foreach ($products as $index => $product) {
    echo "<tr>";
    echo "<td><input type='text' name='products[$index][name]' value='{$product[0]}'></td>";
    echo "<td><input type='number' name='products[$index][price]' value='{$product[1]}' step='0.01'></td>";
    echo "<td><input type='number' name='products[$index][quantity]' value='{$product[2]}'></td>";
    echo "<td><button type='submit' name='update' value='$index'>Update</button></td>";
    echo "</tr>";
}

echo "</table>";
echo "</form>";

if (isset($_POST['update'])) {
    $index = $_POST['update'];
    // 处理更新逻辑
}
?>

使用 Bootstrap 美化动态表格

结合 Bootstrap 创建响应式表格:

<?php
$data = [
    ["ID" => 1, "Name" => "Alice", "Age" => 28],
    ["ID" => 2, "Name" => "Bob", "Age" => 32],
    ["ID" => 3, "Name" => "Charlie", "Age" => 25]
];

echo '<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">';
echo '<div class="table-responsive">';
echo '<table class="table table-striped table-hover">';
echo '<thead class="table-dark"><tr>';

// 生成表头
foreach (array_keys($data[0]) as $header) {
    echo "<th>$header</th>";
}

echo '</tr></thead><tbody>';

// 生成表格内容
foreach ($data as $row) {
    echo "<tr>";
    foreach ($row as $cell) {
        echo "<td>$cell</td>";
    }
    echo "</tr>";
}

echo '</tbody></table></div>';
?>

动态表格分页实现

添加分页功能:

php实现动态表格

<?php
$perPage = 5;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $perPage;

// 模拟数据
$allData = range(1, 50);
$pageData = array_slice($allData, $offset, $perPage);

echo "<table border='1'><tr><th>Item</th></tr>";
foreach ($pageData as $item) {
    echo "<tr><td>$item</td></tr>";
}
echo "</table>";

// 分页链接
$totalPages = ceil(count($allData) / $perPage);
for ($i = 1; $i <= $totalPages; $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}
?>

以上方法提供了不同场景下实现 PHP 动态表格的方案,可以根据具体需求选择合适的实现方式。

标签: 表格动态
分享给朋友:

相关文章

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

vue实现动态隐藏

vue实现动态隐藏

Vue 实现动态隐藏的方法 在 Vue 中实现动态隐藏可以通过多种方式实现,以下是一些常见的方法: 使用 v-if 指令 v-if 指令根据表达式的真假值来条件性地渲染元素。当表达式为 false…

用vue实现表格

用vue实现表格

Vue 表格实现方法 基础表格实现 使用 Vue 的 v-for 指令可以轻松渲染表格数据。准备一个数据数组,在模板中用 v-for 循环渲染。 <template> <tab…

vue实现表格刷新

vue实现表格刷新

Vue 实现表格刷新的方法 使用 v-if 强制重新渲染 通过 v-if 控制表格的显示与隐藏,切换时 Vue 会重新渲染组件。 <template> <button @cli…

vue 动态组件实现

vue 动态组件实现

vue 动态组件实现 Vue 的动态组件功能允许根据条件或用户交互动态切换不同的组件,主要通过 <component> 标签和 is 属性实现。 基本用法 通过 is 属性绑定组件名或组…

vue实现动态筛选

vue实现动态筛选

Vue实现动态筛选的方法 动态筛选是Vue应用中常见的功能需求,可以通过多种方式实现。以下是几种常用的实现方法: 使用计算属性实现筛选 计算属性是Vue中实现动态筛选的理想选择,它会根据依赖的数据自…