Почему поисковый запрос не показывает результат в PHRETS?

Я использую этот скрипт php, чтобы получить результат от простого задокументированного поискового запроса Вот

И я скачал этот файл Excel метаданных собственности Вот

$rets_login_url = "http://sef.rets.interealty.com/Login.asmx/Login";
$rets_username = "xxxxxxxx";
$rets_password = "xxxxxxxx";
$rets_user_agent = "PHRETS/1.0";
$rets_user_agent_password = "xxxxxxx";

//////////////////////////////

// start rets connection
$rets = new phRETS;
// Uncomment and change the following if you're connecting
// to a server that supports a version other than RETS 1.5

$rets->AddHeader("RETS-Version", "RETS/1.5");

$rets->AddHeader("User-Agent", $rets_user_agent);

echo "+ Connecting to {$rets_login_url} as {$rets_username}<br>\n";
$connect = $rets->Connect($rets_login_url, $rets_username, $rets_password, $rets_user_agent_password);

// check for errors
if ($connect) {
echo "  + Connected<br>\n";
}
else {
echo "  + Not connected:<br>\n";
print_r($rets->Error());
exit;
}

$search = $rets->SearchQuery("Property","ResidentialProperty","(ListDate=1990-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);

echo "+ Disconnecting<br>\n";
$rets->Disconnect();

когда я запускаю этот скрипт, он показывает результат, связанный и затем отключенный. Но результат не найден. Я перепробовал много предложений по некоторым вопросам, результаты которых не показывали, но у меня ничего не получалось. Где я не прав?

Информация о моем сервере RETS находится здесь:

RETS Сервер: Система SEF RETS
RETS ID системы: SEFRETS
URL входа: http://sef.rets.interealty.com:80/Login.asmx/Login
RETS версия: 1.5
Серверное программное обеспечение: Microsoft-IIS / 6.0

Я также не мог понять, что это $rets_modtimestamp_field = "LIST_87";

Помогите мне, пожалуйста. Мне нужно несколько предложений о том, как получить данные с RETS.

4

Решение

Проблема с параметрами в вашем SearchQuery.

Одним из полей в вашем поисковом запросе является ListDate. Глядя на прикрепленный файл Excel, содержащий метаданные, «ListDate» находится в столбце B в StandardNames. RETS спецификация по умолчанию использует имена систем (см. ниже). Вам необходимо указать ‘»StandardNames» => 1 «в параметре параметров в функции SearchQuery:

$ search = $ rets-> SearchQuery («Свойство», «ResidentialProperty», «(ListDate = 1990-01-01 +)», массив («StandardNames» => 1));

Кроме того, убедитесь, что второй аргумент, класс, вашего SearchQuery является правильным. Для этого вы можете использовать GetMetadataClasses функция во фретах.
Вы также можете использовать retsmd.com войдя в систему с помощью URL-адреса, имени пользователя и пароля вашего сервера RETS.

Поле $ rets_modtimestamp_field представляет собой поле, представляющее собой значение даты и времени, указывающее дату и время последнего изменения списка.


В разделе 7.4.7 документа спецификации RETS 1.7.2 http://www.reso.org/assets/RETS/Specifications/rets_1_7_2.pdf,

«Запросы могут использовать либо стандартные имена, либо системные имена в запросе (раздел 7.7).
клиент выбирает использовать стандартные имена, он ДОЛЖЕН указывать это с помощью StandardNames
аргумент … Если эта запись установлена ​​в («0») или отсутствует, имена полей, переданные в поиске, являются
SystemNames, как определено в метаданных. «

2

Другие решения

Чтобы ответить на ваш последний комментарий, вам также нужно указать ListingStatus, так как это также обязательное поле при выполнении запроса. Значения поиска для ListingStatus:

  • A = Активно-Доступен
  • B = Резервный контракт-вызов LA
  • C = Отменено
  • CS = закрытая продажа
  • PS = в ожидании продажи / аренды
  • Q = прекращено
  • T = Temp Off Market
  • W = снято
  • X = истек

Так что попробуйте что-то вроде этого:

$query ="(922=MIAMI),(246=A)";

Или, если вы используете стандартные имена:

$query ="(City=MIAMI),(ListingStatus=A)";

И наконец:

$search = $rets->SearchQuery("Property", $class, $query, array("StandardNames" => 1, 'Limit' => 10, ));

Это должно позволить вам получить хотя бы некоторые результаты обратно. Кроме того, вы можете просто настроить свой запрос, пока не получите желаемый результат.

1

По вопросам рекламы [email protected]