У меня есть php-файл, который пытается получить информацию из XML API, используя SOAP.
Код для извлечения данных
<?php
// create SOAP client object
$client = new SoapClient("http://www.bookingassist.ro/test/book.wsdl", array('trace' => 1));
try {
$rooms = array();
// First Room
$rooms[] = array(array("paxType" => "Adult"));
$filters[] = array("filterType" => "resultLimit", "filterValue" => "6");
// (start search)
$checkAvailability = $client->getAvailableHotel("APIKEY", "RHMK", "2015-04-20", "2015-04-27", "EUR", "RO", "false", $rooms, $filters);
}
catch (SoapFault $exception) {
echo $exception->getMessage();
exit;
}
?>
<?php
if (is_object($checkAvailability->availableHotels))
$hotelResponse[] = $checkAvailability->availableHotels;
$hotelResponse = $checkAvailability->availableHotels;
foreach ((array)$hotelResponse as $hnum => $hotel)
?>
ниже на странице у меня есть следующий код
<article class="box">
<h4><?php echo $hotel->hotelCode?></h4>
<span class="price">aprox/NOAPTE</small>€ <?php echo $hotel->totalPrice ?></span>
</article>
Мой запрос может я зациклить весь контент от столько ответов, сколько у меня есть в массиве фильтров ($filters[] = array("filterType" => "resultLimit", "filterValue" => "6")
; )
Я пробовал то же самое, но на пустой странице без всякой css onky таблицы с заголовком и извлечением и зацикливанием информации по запросу. — http://www.bookingassist.ro/test/test.php
Если вы получаете только один результат, я не думаю, что значения, которые у вас есть в $ hotelResponse, — это то, что вы думаете.
Есть большая вероятность, что ваш код входит во вторую часть вашего оператора if / else, объясняющего, почему вы получаете только один результат.
Сделайте var_dump, чтобы убедиться, что у вас есть X отелей
Других решений пока нет …