【发布时间】:2009-06-25 13:35:16
【问题描述】:
我有 3 张桌子。 Apls、Hulls 和 AplsHulls。
Apls 由 id、name、date 组成 Hulls 由 id、production_name 组成 AplsHulls是一个连接表,由id、apl_id、hull_id、status组成。
并非每个船体都与每个 Apl 相关联。连接表中的状态(已发货、生产中等)
我需要在具有以下列标题的表格/网格中显示报告:Apl 名称、Apl_Date 然后船体生产名称作为剩余的列标题。 (如果 hull 7 不在结果集中,它甚至不会得到一列。
对于数据,我需要列出 apl 名称、apl 日期,然后遍历其余列并填写连接表中记录的状态。如果 apl 和 hull 在连接表中没有关联,则只需用“NA”填充单元格。
我已经尝试了很多不同的方法,我目前可以获得船体列标题的动态列表,但我似乎永远无法让数据正确循环。
Sample Data:
Apls Table
Id: 1, Name: X1-0000, Date: 1/1/2009
Id: 2, Name: BG-5480, Date: 2/22/2009
Id: 3, Name: HG-0000, Date: 2/27/2009
Hulls Table
Id: 1, Production_name: ProdA
Id: 2, Production_name: ProdB
Id: 3, Production_name: ProdC
Id: 4, Production_name: ProdD
AplsHulls Table
Id: 1, Apl_id: 1, Hull_id: 1, Status:Delivered
Id: 2, Apl_id: 1, Hull_id: 3, Status:Ordered
Id: 3, Apl_id: 2, Hull_id: 4, Status:Delivered
我需要表格显示如下:
APL | Date | ProdA | ProdC | ProdD
X1-0000 | 01/01/2009 | Delivered | Ordered | NA
BG-5480 | 02/22/2009 | NA | NA | Delivered
请注意,列标题忽略 ProdB,因为该记录根本不在连接表中。它还为连接表中的列填充 NA,但它可能与连接表中没有关联。
这很令人困惑,我知道。
【问题讨论】:
-
一些示例代码可能会有所帮助,并且可能会从您的表中采样数据
-
请提供有关您的数据的更多信息。它是像您的标题所暗示的那样在数组中,还是像问题本身所暗示的那样在数据库表中?一个示例表而不是冗长的描述也会有所帮助。
-
样本数据:Apls 表 ID:1,名称:X1-0000,日期:2009 年 1 月 1 日 ID:2,名称:BG-5480,日期:2009 年 2 月 22 日 ID:3 ,名称:HG-0000,日期:2/27/2009 Hulls 表 ID:1,Production_name:ProdA Id:2,Production_name:ProdB Id:3,Production_name:ProdC Id:4,Production_name:ProdD AplsHulls 表 Id:1, Apl_id: 1, Hull_id: 1, Status:Delivered Id: 2, Apl_id: 1, Hull_id: 3, Status:Ordered Id: 3, Apl_id: 2, Hull_id: 4, Status:Delivered
-
我需要表格显示如下:APL |日期 |产品 |产品 |产品 X1-0000 | 2009 年 1 月 1 日 |已交付 |已订购 | NA BG-5480 | 2009 年 2 月 22 日 |不适用 |不适用 |已交付 请注意,列标题忽略 ProdB,因为该记录根本不在连接表中。它还为连接表中的列填充 NA,但它可能与连接表中没有关联。这很令人困惑,我知道。
-
您应该编辑问题并在信息前面放置四个空格,这将形成一个代码块(如下面发布的答案)并保留您的格式。
标签: php loops multidimensional-array