繁体   English   中英

将 Coldfusion 查询结果传递给 Form

[英]Passing Coldfusion query result to Form

我有两个 Coldfusion 模板( getdata.cfmgenerate.cfm )。 除其他任务外,第一个模板getdata.cfm将使用查询从数据库中检索。 它将准确检索 16 行数据,每行将有 8 个字段。 比如这样:

<cfquery datasource="xyz name="lista">
SELECT n1,n2,n3,n4,n5,n6,n7,n8
FROM atable
WHERE product = "abc"
ORDER BY date DESC LIMIT 16
</cfquery>

第二个模板将生成一些随机数并将它们与这 16 行进行比较。 第二个模板上有一个刷新按钮来重新生成数字。 这就是我希望它工作的方式。

但是,现在唯一的方法是在第二个模板中使用数据库<cfquery>generate.cfm这意味着每次我按刷新时,它都会访问数据库,每次检索相同的 16 行,并生成随机数。 这并不理想。 因为这 16 行是相同的,所以每次生成一组新的随机数时都检索它们是没有意义的。 最好在第一个模板中获取它们一次,然后以某种方式将它们传递给第二个模板。 这 16 组数字需要始终显示在屏幕上。 需要显示匹配和不匹配的数字。

如何将整个查询结果从第一个模板传递到第二个模板,而不必通过表单将 16 个记录作为 16 个列表作为表单字段传递? 这甚至可能吗? 提前致谢。

  • 生成一组随机数。
  • 将这些数字与 static 数据集进行比较。
  • 重复。

您是否需要在应用程序 (CFML) 代码中进行比较? 您能否在单个请求中生成一组随机数并将它们作为查询的一部分发送到数据库? 这样,您可以从数据库中获取与您的数字集匹配的记录,而不是全部 16 个。

然后每次刷新都会将新的随机数集发送到数据库,只返回相关数据。

或者,您可以将cfquerycachedWithin属性一起使用,以便在刷新随机数字集的同时将查询结果存储到 memory 特定时间。

https://cfdocs.org/cfquery

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM