示例

PHP/YAZ 通过目标(Z-Association)跟踪连接。资源代表与目标的连接。

下面的脚本演示了 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="Search" />
</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>';
}
}
?>

添加注释

用户贡献的注释

此页没有用户贡献的注释。
To Top