You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP实现MySQL表数据按日期分组展示到前端表格

实现步骤

  1. 查询数据:从MySQL查询数据时按date字段降序排序,确保同日期的数据连续排列
  2. 遍历渲染:遍历数据时记录上一组的日期,每次遇到新日期先输出日期分组行,再输出对应的数据行

完整代码示例

<?php
// 1. 数据库连接(替换为自己的数据库配置)
$host = '127.0.0.1';
$dbname = '替换为你的库名';
$username = '替换为数据库账号';
$password = '替换为数据库密码';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    // 2. 查询数据,按日期倒序排序,替换为你的表名
    $stmt = $pdo->query("SELECT id, `date`, name, files FROM 替换为你的表名 ORDER BY `date` DESC");
    $data = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die("数据库错误:" . $e->getMessage());
}

// 3. 渲染表格
$lastDate = null; // 记录上一次的分组日期
?>
<table>
    <thead>
        <tr>
            <th>#</th>
            <th>Ticket(id)</th>
            <th>Date</th>
            <th>Name</th>
            <th>Files</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($data as $row): ?>
            <?php 
            // 提取当前行的年月日部分作为分组依据
            $currentDate = date('Y-m-d', strtotime($row['date']));
            // 日期变化时输出分组行
            if ($currentDate !== $lastDate): 
                $lastDate = $currentDate;
            ?>
            <tr>
                <td><?= $currentDate ?></td>
                <td></td>
                <td></td>
                <td></td>
                <td></td>
            </tr>
            <?php endif; ?>
            <!-- 输出数据行 -->
            <tr>
                <td><?= $row['id'] ?></td>
                <td><?= $row['id'] ?></td>
                <td><?= $row['date'] ?></td>
                <td><?= $row['name'] ?></td>
                <td><?= $row['files'] ?></td>
            </tr>
        <?php endforeach; ?>
    </tbody>
</table>

注意事项

  • 如果需要按日期升序排列,把SQL语句中的DESC改为ASC即可
  • 如果date字段存储的是时间戳,只需修改日期提取的逻辑即可适配

内容的提问来源于stack exchange,提问作者HelmaJS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:15:04