gpt4 book ai didi

select - 如何从 Coldfusion 中的查询中选择特定记录?

转载 作者:行者123 更新时间:2023-12-02 08:47:22 27 4
gpt4 key购买 nike

我正在尝试优化产品搜索以使用 Coldfusion8/MySQL 在移动设备上使用。

现在发生以下情况:

1. user searches for "FOO"
2. Q1: search database for no of results
3. Q2: search again to get actual data for results FROM TO depending on pagination
4. user clicks details for a product
5. redo Q1 to get no of results
6. redo Q2 to get single result
7. use single result to query for product details (sizes, colors, pricings...)

我正在寻找一种方法来跳过重做 Q1 和 Q2,因为用户从结果集中选择了一个结果,所以我为什么要再次重建结果集只是为了得到一个结果。

问题:
我想方法是传递一个变量,指示我只需要现有查询中记录的详细信息。假设我有结果 1-20 并且我传递了一个变量“DETAIL”和一个文章编号“123”,我将如何从现有结果集中选择匹配的记录=我如何从结果集中选择特定记录?查询

编辑:所以我认为我的案例的唯一方法是第一次运行查询,将结果存储在 Session.storage 中,然后从存储中选择相应的记录,而不是重新运行我的初始搜索。

查询的查询不起作用,因为我的初始查询在 cfinvoke 方法中,所以当它完成时,它就消失了,在下一次通过时我无法查询最后一个 cfinvoke 的结果。

我还尝试将其存储到我的 cfc 变量范围中。也不起作用,我想是出于同样的原因。我不想开始使用 cfobject,因为我仍在运行 CF8,而且我正在阅读很多关于 cfobject 如何影响性能的文章。

无论如何。在我的第一个查询“结果”中,我现在正在存储

<cfset Session.storate = results>

当我转储 session 存储时,我得到:

catch - query
CACHED: false
EXECUTIONTIME: 2031
SQL: SELECT a.*, p.ek, p.vk, p.x, p.y
FROM arts a
LEFT JOIN p ON
...
LEFT JOIN f ON
...
WHERE a.aktiv = "ja"
AND
... 20 conditions ...

SQLPARAMETERS: [array]
1) %402%
... 20 parameters

RESULTSET:
[Record # 1]
a: true
style: 402
price: 2.3
currency: CHF
...
[Record # 2]
a: true
style: 402abc
...

我现在的问题是:

如何遍历 session.storage 并检查样式?如果找到,这就是我的结果,我将从中构建详细 View 。

最佳答案

我不确定我是否遵循了,但如果我遵循了,您可以执行“查询中的查询”,它允许您查询在您的页面上运行的现有查询。

<cfquery name="getOneRecord" dbtype="query">
SELECT record
FROM originalqueryname
WHERE articlenumber = 123
</cfquery>

如果您只需要检索一个结果,这可能是最快的方法。

关于select - 如何从 Coldfusion 中的查询中选择特定记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11470660/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com