下面是执行索引的代码,以及读取
的cfsearch代码索引:
<cfquery name="Qryname" datasource="dsnnane">
SELECT id, eid, title
FROM tbl1
</cfquery>
<cfindex
query="Qryname"
collection="events"
action="Update"
type="Custom"
title="title"
key="id"
body="eid,title">
搜索结果
<cfsearch
collection="events"
name="Qryname"
criteria="#Form.Criteria#">
<!--- Output the record set. --->
<cfoutput>
Your search returned #Qryname.RecordCount# result(s).
</cfoutput>
<cfoutput query="Qryname">
<a href="page.cfm?eid=#eid#">#title#</a>
</cfoutput>
问题是我只能输出我在cfindex中指定为标题的列。如果我尝试输出除了我指定为标题之外的任何其他列,系统会说var是未定义的。
在这种情况下,它表示eid未定义。
我在文档中看到可以输出列值
请参阅“搜索并显示查询结果”中的第3部分,该部分位于“查询返回的索引数据”下
http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7b35.html
有什么想法吗?
谢谢。
答案 0 :(得分:1)
我开始做:
<cfdump var="#Qryname#" />
查看从cfsearch返回的内容。
答案 1 :(得分:1)
解决方案是使用cfindex中的自定义字段。如果您阅读cfindex的参考号,您将看到它最多支持4个自定义字段,范围从custom1到custom4。
只需将db表列分配给其中一个自定义字段,重新编制索引,然后访问cfsearch中的自定义字段
<cfindex
query="Qryname"
collection="events"
action="Update"
type="Custom"
title="title"
key="id"
body="eid,title"
custom1="eid">
cfsearch:
<cfoutput query="Qryname">
<a href="page.cfm?eid=#custom1#">#title#</a>
</cfoutput>