使用<cfloop> </cfloop>从查询结果构建和数组数组

时间:2012-03-23 21:18:21

标签: mysql coldfusion multidimensional-array struct

我的MySQL项目数据库中有记录,它有几个布尔标志来帮助我对数据进行排序。我为每个类别分为3个类别planninglandscapeenvironmental以及4个类别(或子类别); industrialgovernmenteducationresidential

我的目标是使用ColdFusion创建并将project_id数字存储在某种类型的数组中,这些数组基本上会按类别和类对项目进行排序。这样我就可以抓住规划类别中的工业项目并构建该项目的链接。

因此,数组中的第一个位置是planning,并且第一个位置内部将是4个类,然后,其中将返回project_idtrue个数字。对于那些特定的标准。

我想要创建的逻辑是这样的......

循环查询结果,如果planning = true且industrial = true,则将项目ID#放入工业数组内的计划数组中。

如何使用<cfloop>遍历项目记录列表,识别类别和类标记并构建一个干净且可用的数据集?可以通过某种方式处理查询中的句柄吗?

2 个答案:

答案 0 :(得分:0)

  1. 找出所需的数据结构
  2. 查看您现有的数据结构
  3. 找出从一个翻译到另一个的算法
  4. 您可以cfloop查询,并使用大型cfswitch(或大量if-then-else)来确定如何将ID存储在所需的数据结构中。或者,如果您可以将类/类别名称映射为结构键,则可能更容易。

    或者你可以使用cfoutput group=""如果有帮助(cfloop group=""可用于CF10 +)

    最后,也许您甚至不需要数据结构,只需在任何需要的地方使用查询查询。

答案 1 :(得分:0)

您可以使用Underscore.cfc library来实现此目的。例如,您可以使用过滤器函数来提取表示所需查询行的结构数组:

planningArray = _.filter(queryResult, function(row){
    return (row.planning == true && row.industrial == true);
});