我有一个通过PHRETS系统运行RETS的系统。我有一个表单,它通过查询来提取结果,我们添加了多选择框。
到目前为止,我的代码看起来像这样的查询:(SUB_AREA_NAME=|AreaA,AreaB,AreaC,AreaD)这可以让许多结果出现。问题是:由于某种原因,系统正在执行"与"操作而不是"或"操作。因此,当我们搜索多个位置时,如果任何结果显示为空,它们都将显示为空。
例如:假设AreaA有3所房子。AreaB有0个房子,AreaC有10个房子,AreaD有1个房子。
如果你抬头看:AreaA + AreaC
你会得到13个结果。AreaA + AreaC + AreaD
你会得到14个结果。AreaD
单独你会得到1个结果。
AreaA + AreaB
你将得到0个结果。AreaA + AreaB + AreaC + AreaD
你将得到0个结果。
基本上,因为AreaB没有结果,如果您用任何其他有结果的区域查询该区域,它仍然会显示为没有结果。
我需要知道如何从一个类别中查询多个选择,同时显示所有结果,即使一个区域没有任何。
谢谢。
一些(大多数) RETS服务器实现没有正确完成。根据RETS规格,您的查询是正确的。你只需要找出适合你特定情况的方法。
例如,您可以尝试((SUB_AREA_NAME=AreaA)|(SUB_AREA_NAME=AreaB)|(SUB_AREA_NAME=AreaC)|(SUB_AREA_NAME=AreaD))
,看看是否有效。
在某些情况下,我看到这个工作,注意我移除了管道,即使那是OR连接,(SUB_AREA_NAME=AreaA,AreaB,AreaC,AreaD)
其他时候,它不能使用逗号,你需要使用4个单独的查询。
有时我还看到服务器出了问题没有正确编码逗号所以你需要输入(SUB_AREA_NAME=|AreaA%2CAreaB%2CAreaC%2CAreaD)