我在一个名为p1,p2,p3等数据库中有几个字段,它们由一个名为GetUser的查询返回。我想检查他们的值,但以下代码错误在我身上。我确定我的格式' GetUser.p#x#'是错的,但我无法弄清楚该怎么做。任何帮助将不胜感激。
我有以下代码,有效...
integer
当然,这是一种糟糕的方式,所以我想做一个如下的循环来实现相同的结果:
SIGN
这个错误了。所以我希望了解如何实现这一目标。
//有一个类似的问题表明queryName [" columnName"] [rowNumber]是必需的。这是不同的,也更简单。
答案 0 :(得分:1)
好的,明白了...答案是:
<cfloop index = "x" from = "1" to = "10">
<cfif getUser['p0' & x] is 1><li> 0#x#</li> </cfif>
</cfloop>
Matt Busche几乎拥有它。 getUser ['p0'+ x]需要getUser ['p0'&amp; x]
谢谢!
答案 1 :(得分:0)
为清晰起见编辑:
<cfquery name="getuser" datasource="STACK">
Select * from stackoverflow
</cfquery>
<cfset fieldNumber = #ListLen(getuser.ColumnList)#>
<cfoutput>
<cfloop index="i" from="1" to="#fieldNumber#">
This is P#i#
</cfloop>
</cfoutput>
根据您的评论,您希望根据要返回的列进行条件检查。假设您的列名称一致,则返回的列应始终与循环的迭代匹配。你应该只需要遍历尽可能多的字段,这样就可以完全不用硬编码10或其他任何字段。
因此,不是检查值是p1还是p2,而是使用#i#
,例如:
<cfif i is 1> P1 is here. </cfif>