输出cfquery导致结构数组?

时间:2017-10-03 15:05:25

标签: arrays coldfusion structure

我有多个列的查询应该像这样组织:

Array One = [
     Line1 = [{value:"15",m:1,nr:0},{value:"25",m:1,nr:1},{value:"0",m:0,nr:0},
     {value:"75",m:0,nr:0}],
     Line2 = [{value:"35",m:0,nr:0},{value:"5",m:1,nr:0},{value:"80",m:1,nr:0},
     {value:"95",m:0,nr:0}],
    ]

所以上面我有一个内部有子数组的数组。每个子数组代表新行。在每个子数组中,都有一个带有valuemnr键的结构。我的问题是我如何动态地做到这一点?以下是我的查询示例:

 <cfquery name="getRec" datasource="Test">
    SELECT 
  hs_ra0,hs_ra1,hs_ra2,hs_ra3,hs_ra4,hs_ra5,hs_ra6,hs_ra7,hs_ra8,hs_ra9,hs_ra10,        
            hs_ra0m,hs_ra1m,hs_ra2m,hs_ra3m,hs_ra4m,hs_ra5m,hs_ra6m,hs_ra7m,hs_ra8m,hs_ra9m,hs_ra10m,
            hs_ra0nr,hs_ra1nr,hs_ra2nr,hs_ra3nr,hs_ra4nr,hs_ra5nr,hs_ra6nr,hs_ra7nr,hs_ra8nr,hs_ra9nr,hs_ra10nr,
            hs_la0,hs_la1,hs_la2,hs_la3,hs_la4,hs_la5,hs_la6,hs_la7,hs_la8,hs_la9,hs_la10,
            hs_la0m,hs_la1m,hs_la2m,hs_la3m,hs_la4m,hs_la5m,hs_la6m,hs_la7m,hs_la8m,hs_la9m,hs_la10m,
            hs_la0nr,hs_la1nr,hs_la2nr,hs_la3nr,hs_la4nr,hs_la5nr,hs_la6nr,hs_la7nr,hs_la8nr,hs_la9nr,hs_la10nr
    FROM Records WITH (NOLOCK)
    WHERE recID = '118976'
 </cfquery>

以下是我的尝试:

<cfset grData = structNew()>
<cfset grArray = arrayNew(1)>
<cfset raArray = arrayNew(1)>

<cfset count = 0>
<cfoutput query="getRec">
    <cfset structInsert(grData,"val"&count,hs_ra0)>
    <cfset structInsert(grData,"mask"&count,hs_ra0m)>
    <cfset structInsert(grData,"nr"&count,hs_ra0nr)>
    <cfset arrayAppend(raArray, grData)>
    <cfset count++>
    <cfset structInsert(grData,"val"&count,hs_ra1)>
    <cfset structInsert(grData,"mask"&count,hs_ra1m)>
    <cfset structInsert(grData,"nr"&count,hs_ra1nr)>
    <cfset arrayAppend(raArray, grData)>
    <cfset count++>
</cfoutput>
<cfset arrayAppend(grArray, raArray)>

上面的代码产生了下一个输出:

array
1   
array
1   
struct
mask0   1
mask1   0
nr0     0
nr1     1
val0    75
val1    0
2   
struct
mask0   1
mask1   0
nr0     0
nr1     1
val0    75
val1    0 

这是我到目前为止找到的第二个解决方案:

<cfoutput query="getRec">
    <cfset raArray = [{"value"=hs_ra0,"mask"=hs_ra0m,"nr"=hs_ra0nr},{"value"=hs_ra1,"mask"=hs_ra1m,"nr"=hs_ra1nr},{"value"=hs_ra2,"mask"=hs_ra2m,"nr"=hs_ra2nr},{"value"=hs_ra3,"mask"=hs_ra3m,"nr"=hs_ra3nr},
                        {"value"=hs_ra4,"mask"=hs_ra4m,"nr"=hs_ra4nr},{"value"=hs_ra5,"mask"=hs_ra5m,"nr"=hs_ra5nr},{"value"=hs_ra6,"mask"=hs_ra6m,"nr"=hs_ra6nr},{"value"=hs_ra7,"mask"=hs_ra7m,"nr"=hs_ra7nr},
                        {"value"=hs_ra8,"mask"=hs_ra8m,"nr"=hs_ra8nr},{"value"=hs_ra9,"mask"=hs_ra9m,"nr"=hs_ra9nr},{"value"=hs_ra10,"mask"=hs_ra10m,"nr"=hs_ra10nr}]>
    <cfset laArray = [{"value"=hs_la0,"mask"=hs_la0m,"nr"=hs_la0nr},{"value"=hs_la1,"mask"=hs_la1m,"nr"=hs_la1nr},{"value"=hs_la2,"mask"=hs_la2m,"nr"=hs_la2nr},{"value"=hs_la3,"mask"=hs_la3m,"nr"=hs_la3nr},
    {"value"=hs_la4,"mask"=hs_la4m,"nr"=hs_la4nr},{"value"=hs_la5,"mask"=hs_la5m,"nr"=hs_la5nr},{"value"=hs_la6,"mask"=hs_la6m,"nr"=hs_la6nr},{"value"=hs_la7,"mask"=hs_la7m,"nr"=hs_la7nr},
    {"value"=hs_la8,"mask"=hs_la8m,"nr"=hs_la8nr},{"value"=hs_ra9,"mask"=hs_ra9m,"nr"=hs_ra9nr},{"value"=hs_ra10,"mask"=hs_ra10m,"nr"=hs_ra10nr}]>

<cfset rbArray = [{"value"=hs_rb0,"mask"=hs_rb0m,"nr"=hs_rb0nr},{"value"=hs_rb1,"mask"=hs_rb1m,"nr"=hs_rb1nr},{"value"=hs_rb2,"mask"=hs_rb2m,"nr"=hs_rb2nr},{"value"=hs_rb3,"mask"=hs_rb3m,"nr"=hs_rb3nr},
{"value"=hs_rb4,"mask"=hs_rb4m,"nr"=hs_rb4nr},{"value"=hs_rb5,"mask"=hs_rb5m,"nr"=hs_rb5nr},{"value"=hs_rb6,"mask"=hs_rb6m,"nr"=hs_rb6nr},{"value"=hs_rb7,"mask"=hs_rb7m,"nr"=hs_rb7nr},
{"value"=hs_rb8,"mask"=hs_rb8m,"nr"=hs_rb8nr},{"value"=hs_rb9,"mask"=hs_rb9m,"nr"=hs_rb9nr},{"value"=hs_rb10,"mask"=hs_rb10m,"nr"=hs_rb10nr}]>

<cfset sfArray = [{"value"=hs_sf0},{"value"=hs_sf1},{"value"=hs_sf2},{"value"=hs_sf3},{"value"=hs_sf4},{"value"=hs_sf5},{"value"=hs_sf6},{"value"=hs_sf7},{"value"=hs_sf8},{"value"=hs_sf9},{"value"=hs_sf10}]>
<cfset sfaArray = [{"value"=hs_sfa0},{"value"=hs_sfa1},{"value"=hs_sfa2},{"value"=hs_sfa3},{"value"=hs_sfa4},{"value"=hs_sfa5},{"value"=hs_sfa6},{"value"=hs_sfa7},{"value"=hs_sfa8},{"value"=hs_sfa9},{"value"=hs_sfa10}]>

我得到了所需的输出,但我想知道这种硬编码解决方案是否可以简化或动态生成?

似乎每个子数组中都显示相同的值。

如果有人可以帮忙解决这个问题,请告诉我们。谢谢!

0 个答案:

没有答案
相关问题