PHP 8.6.0 Beta 1 is available for testing

Примеры

PHP/YAZ хранит список соединений с адресатами (Z-Ассоциации). Ресурс же предоставляет соединение с адресатом.

Пример ниже демонстрирует особенность параллельного поиска по API. Если аргументы не переданы, выводится форма запроса; иначе (переданы аргументы) происходит поиск по адресам, указанным в массиве host.

Пример #1 Параллельный поиск с помощью Yaz

<?php
$host=$_REQUEST[host];
$query=$_REQUEST[query];
$num_hosts = count($host);
if (empty($query) || count($host) == 0) {
 echo '<form method="get">
 <input type="checkbox"
 name="host[]" value="bagel.indexdata.dk/gils" />
 Тест GILS
 <input type="checkbox"
 name="host[]" value="localhost:9999/Default" />
 Локальный тест
 <input type="checkbox" checked="checked"
 name="host[]" value="z3950.loc.gov:7090/voyager" />
 Библиотека Конгресса
 <br />
 Запрос RPN:
 <input type="text" size="30" name="query" />
 <input type="submit" name="action" value="Поиск" />
 </form>
 ';
} else {
 echo 'Вы искали ' . htmlspecialchars($query) . '<br />';
 for ($i = 0; $i < $num_hosts; $i++) {
 $id[] = yaz_connect($host[$i]);
 yaz_syntax($id[$i], "usmarc");
 yaz_range($id[$i], 1, 10);
 yaz_search($id[$i], "rpn", $query);
 }
 yaz_wait();
 for ($i = 0; $i < $num_hosts; $i++) {
 echo '<hr />' . $host[$i] . ':';
 $error = yaz_error($id[$i]);
 if (!empty($error)) {
 echo "Ошибка: $error";
 } else {
 $hits = yaz_hits($id[$i]);
 echo "Всего результатов $hits";
 }
 echo '<dl>';
 for ($p = 1; $p <= 10; $p++) {
 $rec = yaz_record($id[$i], $p, "string");
 if (empty($rec)) continue;
 echo "<dt><b>$p</b></dt><dd>";
 echo nl2br($rec);
 echo "</dd>";
 }
 echo '</dl>';
 }
}
?>

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /