-2

私は不動産サイトに取り組んでおり、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*)、「som」を含むすべての都市を表示する必要があります。しかし、私はそれを機能させることはできません。私はここ数日、懸命に努力してきましたが、インターネットのリソースが非常に少ないため、それを理解することができません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

クエリ文字列を urlencode してみてください。プラス記号はエンコードされないことが多いため、リクエストの処理時に無視されます。NOWトークンを使用して、(130=2013-10-02T16:00:00-NOW),(213=A) として送信することもできます。

于 2014-09-23T16:07:21.760 に答える
0

RETS 自体は、これを効率的に行う方法を実際には提供しません。これを行うには他にもクレイジーな方法があるかもしれませんが、主な方法は次の 2 つです。

1) サーバーからメタデータをダウンロードして、これらのより動的なクエリを実行できるローカル データベースで各フィールドのルックアップを取得します。

2) 誰かが 3 文字を入力したら、バックエンド プロセスに都市フィールドのルックアップ値を取得させ、PHP で直接一致する可能性のある場所を見つけようとします。

これら 2 つのオプションのうち、最初のオプションを強くお勧めします。

訪問者が提案を使用して関心のある都市を選択したら、基本的な完全一致条件を使用して、RETS 検索でその値を使用できます。

于 2014-12-25T04:18:25.040 に答える