当前位置:首页 > 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实现动态表格

<?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实现动态表格

<?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
$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可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead>…

vue表格实现单选框

vue表格实现单选框

Vue 表格实现单选框的方法 在 Vue 中实现表格单选框功能,可以通过结合 el-table(Element UI)或原生表格与 Vue 的数据绑定特性完成。以下是几种常见实现方式: 使用 Ele…

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…

vue表格组件实现

vue表格组件实现

Vue表格组件实现 基础表格实现 使用el-table组件实现基础表格功能。安装Element UI后,引入el-table和el-table-column组件。 <template>…

vue表格实现单选

vue表格实现单选

实现 Vue 表格单选功能 使用 v-model 绑定选中状态 在表格的每一行添加单选按钮或点击行触发选中,通过 v-model 绑定一个变量存储当前选中行的唯一标识(如 id)。 示例代码: &l…

vue实现动态表单

vue实现动态表单

Vue 动态表单实现方法 使用 v-for 动态渲染表单字段 通过遍历数组动态生成表单项,数据驱动视图变化。表单字段配置可存储在数组中,修改数组即可实现表单动态更新。 <template>…