2011-02-08 99 views
0

下面是做索引的代碼,它讀取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「查詢返回的索引數據」下

任何想法?

謝謝。

回答

1

解決方案是使用cfindex中的自定義字段。如果您閱讀cfindex的參考文獻,您會發現它最多支持4個自定義字段,範圍從custom1到custom4。

只是一個數據庫表列分配到自定義字段中的一個,重新編制索引,然後訪問該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> 
1

我做啓動:

<cfdump var="#Qryname#" /> 

看到的是從cfsearch返回。

+0

謝謝。對我的代碼以及文檔中的代碼做了一次cfdump,它們是一樣的。看起來我假定我提供的鏈接中的數據來自db中的表格(標題,分數,關鍵字,摘要,自定義1,列表),但事實並非如此,這些數據來自cfsearch。問題,你如何鏈接cfsearch的搜索結果? (url var與搜索結果在同一條記錄中) – 2011-02-08 21:50:21