【问题标题】:ColdFusion cfloop issueColdFusion cfloop 问题
【发布时间】:2020-02-25 12:09:34
【问题描述】:

我正在运行 ColdFusion 2016。我有一个 cfloop,它从查询中提取数据,所有其他 ColdFusion 查询在页面上都可以正常工作,如果我在循环外的输出中提取相同的变量,它就可以工作很好,除了循环给我一个错误。错误输出说:

变量 GPS_LATITUDE 未定义。

这是正确的,因为在数据库中没有GPS_LATITUDE,但有一个GPS_LATITUDE1

我需要在变量末尾添加循环号,以便循环拉入数据gps_latitude1gps_latitude2gps_latitude3 而不仅仅是gps_latitude

我的循环代码是...

<cfoutput>
  <cfloop index="i" from="1" to="3">
    <td><p>#gps_latitude[i]#</p></td>
    <td><p>#gps_longitude[i]#</p></td>
  </cfloop>
</cfoutput>

非常感谢任何指导。

【问题讨论】:

  • 对于只有 3 个项目,我建议摆脱循环并硬编码列名。
  • 您的查询是什么样的?它检索了多少行?

标签: coldfusion coldfusion-2016 cfloop


【解决方案1】:

@elixieru,你不能直接给gps_latitude[i]。这不是检查您的查询,将其视为 Array。我可以想象您的场景并提供有关如何使用

获得相同 columnName 的示例代码
<cfquery name='test' datasource="mytest">
    select * from test
</cfquery>

这是我的示例查询。它的列名是地址 1、地址 2 等...我将像您的场景一样获取有关地址 1 和地址 2 的数据。

<cfloop query="test">
    <cfloop from="1" to="2" index="i">
        <cfset a = test["address#i#"]>
        <cfoutput> #a# </cfoutput> <br/>
    </cfloop>
</cfloop>

在这里,我正在循环查询,因此基于我的计数(地址 1、2、3、4、5 等)进行了一些简单的/索引循环。现在我只使用 2 就像从 1 到 2。

在这里,我将 test['address#i#'] 存储在变量 a 中并打印该变量。现在 test['address#i#'] 将被视为 test.address1

希望我的示例对您有更多帮助。

【讨论】:

  • 您可能想再看一下开头的句子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-02
  • 2014-11-06
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
相关资源
最近更新 更多