在制作房地产网站时,不能写下几个字母的城市名称

时间:2014-09-09 07:10:26

标签: php rets

我在房地产网站上工作,并且能够从rets服务器显示列表。我正在使用phrets。我无法使搜索系统正常运行。 这是我的搜索查询:

  $search = $rets->SearchQuery(
        'Property',     // Resource
        1,      // Class
         '((130=2013-10-02T16:00:00+),(213=A))',    // DMQL
        array(
            'Format'    => 'COMPACT-DECODED',
            'Select'    => 'sysid,13,1491',
             'Count'        => 1,
             'Limit'        => 3
            )
        );

130 =上次更新日期的系统。

213 =状态的系统名称。

效果很好。它可以拉出我想要的所有商品。 但我经历了一些房地产网站。他们在第一页执行搜索查询。当有人在输入框中写下3个或更多字母时,输入框下方会出现一个下拉列表,其中包含以这些字母开头的少数城市,点击任意一个城市从该城市拉出列表。

但在我的情况下,我的城市系统名称是1491,当我写(1491 = somerset)时,它会拉出萨默塞特市的所有列表。我想知道我怎么能做第一步,写下几个字母会告诉我与这些字母有关的城市名称。

由于DMQL查询建议我这样做(1491=*som*),它应该会显示所有包含&s 39的城市。但我无法使其发挥作用。我在过去的几天里非常努力,只有极少数的互联网资源,我发现自己无法解决这个问题。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

尝试对您的查询字符串进行urlencoding。加号通常不会被编码,因此在处理请求时会被忽略。您也可以使用 NOW 令牌并将其发送为(130 = 2013-10-02T16:00:00-现在),(213 = A)

答案 1 :(得分:0)

RETS本身并没有真正为您提供有效执行此操作的方法。尽管可能还有其他更疯狂的方法,但主要的两个方法是:

1)从服务器下载元数据,以便您拥有每个字段'在本地数据库中查找,您可以在其中执行这些更动态的查询。

2)当有人输入3个字母时,让后端进程检索城市字段的查找值,并尝试直接使用PHP查找可能的匹配项。

在这两个选项中,我强烈推荐第一个,因为它会更快,更有能力。

一旦您的访问者使用您的建议选择感兴趣的城市,您就可以使用基本的完全匹配条件在RETS搜索中使用该值。