2012-03-23 42 views
1

我在我的MySQL项目数据库中有几条记录,它们有几个布尔标志来帮助我排序数据。我有3个类别planning,landscapeenvironmental和4个类别(或子类别)为每个类别; industrialgovernmenteducationresidential从查询结果中构建和排列阵列<cfloop>

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

因此,阵列中的第一位置将是planning和第一位置内将是4类,那么,内,这将是所有返回true为那些特定条件的project_id的数字。

我期待创造是这样的逻辑...

遍历查询结果,如果规划=真和工业= TRUE,将项目编号进入工业阵列内部的规划阵列。

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

回答

0
  1. 找出所需的数据结构
  2. 看看你现有的数据结构
  3. 弄不清算法从一个转换到另一个

您可以cfloop查询,并使用大的cfswitch(或者if-then-else的大集合)来确定你想如何将id存储在你想要的数据结构中。或者,如果您可以将类/类别名称映射为结构键,那么它可能会更容易。

或者你可以使用cfoutput group=""是否有帮助(cfloop group=""可在CF10 +)

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

0

你也许能够利用这个Underscore.cfc library。例如,可以使用筛选函数提取表示所需查询行的结构数组:

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