PHP-MS SQL HTML-一行显示每个客户的所有月份

PHP-MS SQL HTML-一行显示每个客户的所有月份,php,html,sql,sql-server,Php,Html,Sql,Sql Server,希望你能在我的新问题上给我启发,告诉我哪里可能是错的 以下是我的设想: 我有一个要求,显示每个客户的销售报告。所以一个客户,一排。 在那一排,所有的月份都应该在那里。下面是一个需要澄清的屏幕截图: 渴望结果 正如你在屏幕截图中看到的,所有的月份都在那里 以下是我的SQL查询: 选择CustNm作为公司, 客户作为客户, Cust作为custCode, 周一, 案例 当Mon=1时,则为“一月” 当Mon=2时,则为“二月” 当Mon=3时,则为“三月” 当Mon=4时,则为“四月” 当Mon

希望你能在我的新问题上给我启发,告诉我哪里可能是错的

以下是我的设想:

我有一个要求,显示每个客户的销售报告。所以一个客户,一排。 在那一排,所有的月份都应该在那里。下面是一个需要澄清的屏幕截图:

渴望结果

正如你在屏幕截图中看到的,所有的月份都在那里

以下是我的SQL查询:

选择CustNm作为公司,
客户作为客户,
Cust作为custCode,
周一,
案例
当Mon=1时,则为“一月”
当Mon=2时,则为“二月”
当Mon=3时,则为“三月”
当Mon=4时,则为“四月”
当Mon=5时,则为“五月”
当Mon=6时,则为“六月”
当周一=7时,则为“七月”
当Mon=8时,则为“八月”
当Mon=9时,则为“九月”
当Mon=10时,则为“十月”
当Mon=11时,则为“11月”
当Mon=12时,则为“12月”
以“月份”结束,
年为“年”,
星期一和星期六,
案例
当NetSales为空时,则为0
其他网上销售
以netSales结束,
案例
当PrvYrSales为空时,则为0
其他PRVYR销售
以销售结束,
案例
当SalesGrwth为空时,则为0
其他销售额*100
随着销售额的增长,
案例
当YrBfrLst为空时,则为0
其他YrBfrLst
前年结束,
案例
当BfrLstGrwth为空时,则为0
否则BfrLstGrwth*100
在上次增长前一年结束
从BigEMasterData.dbo.monthmp作为
左外部联接BigESales.dbo.tbl_报告公司循环为b
关于b.Mon=a.monthNo
其中CompBrnch=@companyBranch
和Yr=@年
按CustNm分组,
卡斯特,
周一,
嗯,,
网络销售,
PrvYrSales,
SalesGrwth,
YrBfrLst,
BfrLstGrwth

按客户订购NM asc、Mon asc
您应该使用foreach遍历所有月份,并使用月份列设置第一个tr。然后,对每个列执行另一个子foreach循环,以显示每个月的td项。这应该用PHP代码来完成,而不是用串联查询。这将是我实现简单性和更好性能的方法。

Hello@carpincodem,我已经硬编码了月份标题,因为它总是固定的。如果没有当月的销售数据,我会有问题。例如,我硬编码了1月至12月。如果3月份的销售数据显示为空。我无法解决的问题是,我如何从数据库中知道是否有丢失的月份。希望我解释清楚。创建一个以$data为参数的函数。If($data=!“”)else(这是伪代码,如您所见…)您好,谢谢。我已经解决了。我花了一个星期才解决这个问题(请将您的解决方案作为自己的答案发布,而不是编辑。