我正在尝试显示按类别分隔的项目。我希望它看起来如下:

Category 1
----------
option 1
option 2
option 3


每个选项旁边都有一个复选框。我似乎无法正常工作。这是我目前正在使用的代码:

<cfquery datasource="applewood" username="username" password="password"
name="getOptions" >
SELECT *
FROM options
</cfquery>

<form action="dbtest.cfm"  id="displayOptions" method="post" name="displayOptions">
<cfif #getOptions.idOpCategories# IS 1>
<cfoutput query="getOptions">
<input type="checkbox" name="#getOptions.idOptions#" id="#getOptions.idOpCategories#">
#getOptions.option# <br />
</cfoutput>
</cfif>
</form>


现在,即使我使用cfif按idOpCategories数字1进行排序,它仍然列出了所有这些。当我在查询中放入WHERE子句并让idOpCategories = 1时,它的工作原理就与预期的一样,但是我真的必须为每个数字(其中22个)做出不同的查询语句吗?任何帮助,将不胜感激。

最佳答案

这种逻辑的问题是,cfif正在查看显示为idOpCategories EQ 1的第一个查询行的idOpCategories。getOptions查询未过滤,因此它返回所有数据行。

您可以这样移动cfif语句:

<cfoutput query="getOptions">
<cfif idOpCategories eq 1>
<input type="checkbox" name="#getOptions.idOptions#" id="#getOptions.idOpCategories#">
#getOptions.option# <br />
</cfif>
</cfoutput>


但是在查询本身中处理此问题更有意义。

07-28 09:00