Problems Displaying Verity Collection Items After Search

I posted a message earlier about the Verity Collection problems i was having.  I have tried another way and I now have a different problem!

At the top of my search I have the following value:
5 advertisement(s) matched your query.

This obviously means that the search has found records matching the criteria i entered.  However the search refuses to display the results and i get this error:

Variable EXPIRYDATE is undefined.

you can replace the variable EXPIRYDATE with any of the table variables in my database - it's all the same.

here is my code:

<cfsearch collection="adVerityCollection" name="findAds" criteria="#keywords#">
      <CFIF findads.RecordCount GT 0>
      <CFoutput query = "findAds">
      <B>#findads.RecordCount#</B> advertisement(s) matched your query.
            <P>
            <a href="advertdetails.cfm?adnum=#key#">#expirydate#</a><BR>
      </CFOUTPUT>
      <CFELSE>
      Sorry, No records were returned from your request.
      </CFIF>

here is the code which i used to update the verity collection:

 <cfquery name="get_db_info" datasource="advertisements">
      select *
       from ads
  </cfquery>

<cfindex query="get_db_info"
            collection="adVerityCollection"
            action="update"
            type="custom"
            key="adnumber"
            title="adverttitle"
            body="sellername, adverttitle, emailaddress, dateentered, expirydate, advertisementcontents, category, region">

  Your Collection has been updated.

------

The collection updates without any problems and as i said earlier the search is obviously finding records matching the entered criteria - it's just that it doesnt display any of the fields which are in the database table which i thought i had set up correctly with the update verity code.

Cheers
crazy_diamondAsked:
Who is Participating?
 
proceptConnect With a Mentor Commented:
Hi,

with verity seaches you can only output the verity fields, not the DB fields. The verity fields usually are
CUSTOM1, CUSTOM2, KEY, RECORDSSEARCHED, SCORE, SUMMARY, TITLE, URL.

To use the custom fields, you can assign field names to the custom attributes (here I moved the expirydate from the body to custom field 1):

<cfindex query="get_db_info"
            collection="adVerityCollection"
            action="update"
            type="custom"
            key="adnumber"
            title="adverttitle"
            body="sellername, adverttitle, emailaddress, dateentered, advertisementcontents, category, region"
            custom1="expirydate">

But, custom fields are not searched in simple queries! If you want to search for the expirydate, you must have it in body, too.

HTH,

Chris


0
All Courses

From novice to tech pro — start learning today.