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

如何用单SQL语句+PHP从MySQL多表查询并展示指定用户交易详情

解决方案

1. 关联查询的SQL语句

通过JOIN关联三个表,用GROUP_CONCAT把同一交易下的产品合并成“产品ID.产品名称”格式的字符串,SQL语句如下:

SELECT 
    t.transaction_id,
    GROUP_CONCAT(CONCAT(p.product_id, '.', p.product_name) SEPARATOR ', ') AS product_list
FROM `transaction` t
INNER JOIN transaction_details td ON t.transaction_id = td.transaction_id
INNER JOIN products p ON td.product_id = p.product_id
WHERE t.user_id = 4
GROUP BY t.transaction_id;
  • 用INNER JOIN保证只返回有对应交易明细和产品的记录,若需包含无明细的交易,可替换为LEFT JOIN
  • GROUP_CONCAT中的SEPARATOR可根据需求调整分隔符,比如换行符\n或分号;

2. PHP 展示表格代码

以下是用mysqli扩展实现的示例代码,完成数据库连接、查询执行和表格输出:

<?php
// 数据库连接参数
$host = 'localhost';
$dbname = '你的数据库名';
$username = '数据库用户名';
$password = '数据库密码';

// 创建连接
$conn = new mysqli($host, $username, $password, $dbname);

// 检查连接状态
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

// 执行SQL查询
$sql = "SELECT 
            t.transaction_id,
            GROUP_CONCAT(CONCAT(p.product_id, '.', p.product_name) SEPARATOR ', ') AS product_list
        FROM `transaction` t
        INNER JOIN transaction_details td ON t.transaction_id = td.transaction_id
        INNER JOIN products p ON td.product_id = p.product_id
        WHERE t.user_id = 4
        GROUP BY t.transaction_id";
$result = $conn->query($sql);

// 输出表格
if ($result->num_rows > 0) {
    echo "<table border='1' cellpadding='8' cellspacing='0'>
            <tr>
                <th>交易ID</th>
                <th>产品信息</th>
            </tr>";
    // 循环输出每条交易数据
    while($row = $result->fetch_assoc()) {
        echo "<tr>
                <td>" . htmlspecialchars($row["transaction_id"]) . "</td>
                <td>" . htmlspecialchars($row["product_list"]) . "</td>
              </tr>";
    }
    echo "</table>";
} else {
    echo "未找到用户ID为4的交易记录";
}

// 关闭数据库连接
$conn->close();
?>
  • 注意transaction是MySQL关键字,需用反引号`包裹表名
  • 用htmlspecialchars避免XSS风险,若需要更美观的表格样式,可添加自定义CSS
  • 若使用PDO扩展,只需调整数据库连接和查询执行的逻辑,核心业务代码保持一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:25:40