2013-07-30 2 views
2

아무 것도 반환하지 않기 위해 SearchQuery() 함수를 phrts에서 가져올 수 없습니다. 나는 나의 자원과 계급을 안다. 나는 또한 쿼리에서 사용하고있는 필드 이름의 sysid를 알고있다.SearchQuery()에서 결과를 얻을 수 없습니다.

여기에 내 코드

<?php @include_once('login.php'); ?> 
<pre> 
<?php 

$rets = new PHRETS; 

$rets->AddHeader("User-Agent", $rets_user_agent); 
/* Connect */ 
$connect = $rets->Connect($rets_login_url, $rets_username, $rets_password, $rets_user_agent_password); 

if($connect) { 

    /*resources*/ 
    $resources = $rets->GetMetadataResources(); 
foreach ($resources as $resource) { 
     echo "+ Resource {$resource['ResourceID']} described as " . $resource['Description'] . "\n"; 
} 

    /*get classes*/ 
    $classes = $rets->GetMetadataClasses("Property"); 
foreach ($classes as $class) { 
     echo "+ Class {$class['ClassName']} described as " . $class['Description'] . "\n"; 
} 

    /*get fields*/ 
    $fields = $rets->GetMetadataTable("Property", 1); 
print_r ($fields); 

    /* Search RETS server */ 
$search = $rets->SearchQuery("Property",1,"(135=2013-01-01+)"); 
while ($listing = $rets->FetchRow($search)) { 
    echo "Address: {$listing['StreetNumber']} {$listing['StreetName']}, "; 
    echo "{$listing['City']}, "; 
    echo "{$listing['State']} {$listing['ZipCode']} listed for "; 
    echo "\$".number_format($listing['ListPrice'])."\n"; 
} 





    $rets->FreeResult($search); 
    $rets->Disconnect(); 
} else { 
    $error = $rets->Error(); 
    print_r($error); 
} 



?> 
</pre> 

내가 자원 이름과 속성 이름을 얻기 위해 GetMetadataResources()GetMetadataClasses()을 사용합니다. 필드의 시스템 ID를 얻으려면 GetMetadataTable("Property", 1)을 사용했습니다. 'ListDate'에 sysid를 사용하여 쿼리에 사용합니다. 나는 틀린 일을해야만합니다.

당신은 검색 쿼리의 두 번째 매개 변수는 문자열, 정수가 아닙니다 여기 라이브 페이지를 http://miamiheatfan.com/phrets/example5.php

감사

답변

1

을 볼 수 있습니다. PHRETS 사양에서 :

$search = $rets->SearchQuery("Property",1,"(135=2013-01-01+)"); 

에 : https://github.com/troydavisson/PHRETS/wiki/SearchQuery

변경에서 쿼리

$search = $rets->SearchQuery("Property","1","(135=2013-01-01+)"); 

문제가 해결되지 않을 경우, 대신 "ListDate"의 표준 명을 사용해보십시오 시스템 이름 : "135":

$search = $rets->SearchQuery("Property","1","(ListDate=2013-01-01+)"); 
+0

감사합니다. 내 RETS 서버에 카운티가 필요하다는 것이 밝혀졌습니다. 나는 이것을 추가했고 작동한다. (61 = | BROWARD, DADE, OTHER, PALMBCH) –

+0

@DougSteinberg 저는 mlxchange를 사용하여 마이애미에있는 목록을 얻었습니다. 어떤 솔루션을 사용하면 상태 필드에서 업데이트 된 목록 만 얻을 수 있습니다. mlxchange가 나를 미치게합니다 ... lol –

+1

@EmilioGort 목록의 상태가 업데이트 된 시간을 보여주는 필드가 MLS에 있다고 생각하지 않습니다. 업체 정보의 이전 상태와 업체 정보의 새로운 상태를 비교할 수있는 방법이 필요합니다. 대부분의 사람들은 데이터베이스를 사용하여 MLS 리스팅을 저장 한 다음 업데이트 된 리스팅의 상태를 데이터베이스의 상태와 비교하기 위해 RETS 호출을합니다. –

관련 문제