假设你的表单字段被命名为 “订单信息”,和值为 “12345 Acme的小工具”(其中12345是一个有效的SKU)
<cfquery name="checkSKU" datasource="inventoryDSN">
SELECT
*
FROM
Inventory
WHERE
cast(SKU as varchar) IN (<cfqueryparam value="#ListChangeDelims(form.orderInfo, ' ', ',')#" list="true" cfsqltype="cf_sql_varchar">)
</cfquery>
<cfif checkSKU.recordCount>
<!--- We have a match! --->
<cfelse>
<cfquery name="checkOthers" datasource="inventoryDSN">
SELECT
inventory.*
FROM
Inventory
WHERE
1=0
<cfloop list="#form.orderInfo#" delimiters=" " index="searchTerm">
OR brand LIKE <cfqueryparam value="%#searchTerm#%" cfsqltype="cf_sql_varchar">
OR model LIKE <cfqueryparam value="%#searchTerm#%" cfsqltype="cf_sql_varchar">
</cfloop>
</cfquery>
<cfif checkOthers.recordCount IS 1>
<!--- have a solid match --->
<cfelseif checkOthers.recordCount GT 1>
<!--- have some ambiguity, present user with choice among returned results --->
<cfelse>
<!--- No match found, return error message --->
</cfif>
哇。这是惊人的。说实话! – Brian 2011-12-29 23:41:44