我正在尝试显示按类别分隔的项目。我希望它看起来像下面这样:
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>
但是在查询本身中处理它更有意义。
我是一名优秀的程序员,十分优秀!