PHRets searchquery ничего не возвращает
Я использую PHRets для получения данных MLS. Но это ничего не приносит. Я получаю данные с сайта MLXchange. Я использовал Retsconnector(настольное приложение) и его данные для извлечения. Я использовал тот же запрос в PHRets, но он не работает.
Здесь ниже мой код. Пожалуйста, помогите мне.
<?
$rets_modtimestamp_field = "80";
$property_classes = array("4");
$previous_start_time = "1980-01-01T00:00:00";
//////////////////////////////
require_once("phrets.php");
// start rets connection
$rets = new phRETS;
$rets->AddHeader("User-Agent", "RETS-Connector/1.2");
// only enable this if you know the server supports the optional RETS feature called 'Offset'
$rets->SetParam("offset_support", true);
echo "+ Connecting to {$rets_login_url} as {$rets_username}<br>\n";
$connect = $rets->Connect($rets_login_url, $rets_username, $rets_password,$user_agent_password);
if ($connect) {
echo " + Connected<br>\n";
}
else {
echo " + Not connected:<br>\n";
print_r($rets->Error());
exit;
}
foreach ($property_classes as $class) {
echo "+ Property:{$class}<br>\n";
$file_name = strtolower("property_{$class}.csv");
$fh = fopen($file_name, "w+");
$fields_order = array();
$query = "({$rets_modtimestamp_field}={$previous_start_time}+)";
// run RETS search
echo " + Resource: Property Class: {$class} Query: {$query}<br>\n";
$search = $rets->SearchQuery("Property", $class, $query, array('Limit' => 1000));
if ($rets->NumRows($search) > 0) {
// print filename headers as first line
$fields_order = $rets->SearchGetFields($search);
fputcsv($fh, $fields_order);
// process results
while ($record = $rets->FetchRow($search)) {
$this_record = array();
foreach ($fields_order as $fo) {
$this_record[] = $record[$fo];
}
fputcsv($fh, $this_record);
}
}
echo " + Total found: {$rets->TotalRecordsFound($search)}<br>\n";
$rets->FreeResult($search);
fclose($fh);
echo " - done<br>\n";
}
echo "+ Disconnecting<br>\n";
$rets->Disconnect();
1 ответ
Для этого конкретного вопроса вы используете класс (2-й параметр) в качестве "4". Вероятно, это неправильно.
Для всех тех, кто в конечном итоге здесь, как я,
Поскольку тот же запрос приводит к результатам на сайте "MLXchange", у нас есть несколько вещей, которые нужно проверить в этой строке: $search = $rets->SearchQuery("Property", $class, $query, array('Limit' => 1000));
- Значение ресурса (1-й параметр)
- Значение класса (2-й параметр)
Значения этих параметров также варьируются в зависимости от различных MLS.