全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

MySQL 数据查询结果合并显示为单行表格的完整解决方案

本文讲解如何在 php 中通过一次 sql 查询正确关联两个 mysql 表(`be` 和 `brikett_order`),避免因分步查询导致的表格结构错位问题,实现按月份聚合的「生产数」与「订单数」并列展示。

在您的原始代码中,问题根源在于将两个独立查询的结果分别输出到 标签的不同位置:第一个 while 循环只输出前三列( + 两个 ),第二个 while 循环却直接输出 到已关闭的 外部,导致 HTML 结构混乱(如出现空列、列错位、多行嵌套异常等)。浏览器会自动“修复”非法表格结构,但结果不可控——这正是 sum_order 显示在错误位置甚至被截断的根本原因。

✅ 正确做法是:用一条 SQL 完成关联与聚合,确保每行数据原子性完整。推荐使用 LEFT JOIN,以 be 表为主表(保障所有生产记录不丢失),同时关联满足条件(state='zárt' 且 barcode 和 date 匹配)的订单数据:

SELECT 
  MONTH(be.date) AS month,
  COUNT(DISTINCT DATE(be.date)) AS work_days,
  COUNT(*) AS sum_number,
  COALESCE(SUM(bo.amount), 0) AS sum_order 
FROM be
LEFT JOIN brikett_order bo 
  ON bo.barcode = be.barcode 
  AND bo.date >= DATE(be.date) AND bo.date < DATE_ADD(DATE(be.date), INTERVAL 1 DAY)
  AND bo.state = 'zárt'
WHERE be.barcode = 'R-001'
GROUP BY month
ORDER BY month;
? 关键优化说明: 使用 COALESCE(SUM(...), 0) 避免 NULL 值显示为空白; JOIN 条件中用 DATE() 范围匹配替代精确 datetime 等值(因两表时间精度可能不同),更符合业务逻辑(同日即匹配); 添加 ORDER BY month 保证结果按自然月序排列。

对应 PHP 渲染部分应完全重构为单循环,确保每行

内四列数据一次性输出:
  
Havi Gyártás
0) { while ($row = mysqli_fetch_assoc($result)) { echo ""; } } else { echo ""; } ?>
Hónap Munkanapok Gyártás Eladás
{$row['month']} {$row['work_days']} {$row['sum_number']} db {$row['sum_order']} db
Nincs adat a kiválasztott cikkszámhoz.

? 注意事项总结

  • ❌ 禁止拆分查询 + 拆分 echo 输出到同一 —— 这违反 HTML 表格语义;
  • ✅ 始终优先考虑 JOIN + GROUP BY 在数据库层完成关联聚合,性能与可维护性远高于 PHP 层拼接;
  • ⚠️ 若两表日期字段无严格对齐需求(如只需按月汇总,不强求同日),可将 JOIN 条件中的 DATE() 改为 MONTH() 和 YEAR() 组合,但需注意跨年场景;
  • ? 后续扩展建议:为 barcode 和 date 字段添加联合索引,显著提升 GROUP BY 和 JOIN 效率。
  • 通过以上重构,您将获得结构严谨、语义清晰、数据准确的月度生产与销售对比表格,彻底解决 sum_order 错位显示问题。


# mysql  # php  # html  # 浏览器  # 排列  # lsp  # sql  # echo  # NULL  # while  # date  # 循环  # td  # tr  # th  # 数据库  # 重构  # 按月  # 您的  # 第一个  # 只需  # 推荐使用  # 第二个  # 可将  # 您将  # 根本原因 


相关文章: 建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  建站主机选购指南与交易推荐:核心配置解析  相册网站制作软件,图片上的网址怎么复制?  如何用PHP工具快速搭建高效网站?  建站主机是否属于云主机类型?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何快速完成中国万网建站详细流程?  定制建站流程解析:需求评估与SEO优化功能开发指南  如何在云虚拟主机上快速搭建个人网站?  名字制作网站免费,所有小说网站的名字?  建站上市公司网站建设方案与SEO优化服务定制指南  外贸公司网站制作哪家好,maersk船公司官网?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Swift中swift中的switch 语句  javascript基本数据类型及类型检测常用方法小结  5种Android数据存储方式汇总  Python如何创建带属性的XML节点  建站之星收费标准详解:套餐费用及年费价格表一览  如何获取免费开源的自助建站系统源码?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  网站网页制作专业公司,怎样制作自己的网页?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  c# 在高并发场景下,委托和接口调用的性能对比  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  ui设计制作网站有哪些,手机UI设计网址吗?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何用低价快速搭建高质量网站?  如何访问已购建站主机并解决登录问题?  西安专业网站制作公司有哪些,陕西省建行官方网站?  潮流网站制作头像软件下载,适合母子的网名有哪些?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何在宝塔面板中创建新站点?  如何在万网自助建站平台快速创建网站?  建站主机CVM配置优化、SEO策略与性能提升指南  建站之星代理费用多少?最新价格详情介绍  如何选购建站域名与空间?自助平台全解析  建站org新手必看:2024最新搭建流程与模板选择技巧  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  c# Task.ConfigureAwait(true) 在什么场景下是必须的  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何高效配置香港服务器实现快速建站?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  PHP 500报错的快速解决方法  大连网站设计制作招聘信息,大连投诉网站有哪些?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。