PHP/YAZ hedeflerle bağlantıların izini kaydeder. Bu bağlantılar bir özkaynakla temsil edilirler.
Aşağıdaki betikte, arayüzün paralel arama özelliği gösterilmiştir. Değiştirgesiz çağrıldığında bir sorgu formu basar; değiştirgeli çağrıldığında ise konut dizisinde belirtilen hedefleri araştırır.
Örnek 1 YAZ kullanarak paralel arama
<?php
$konut=$_REQUEST[konut];
$sorgu=$_REQUEST[sorgu];
$konut_sayısı = count($konut);
if (empty($sorgu) || count($konut) == 0) {
echo '<form method="get">
<input type="checkbox"
name="konut[]" value="bagel.indexdata.dk/gils" />
GILS test
<input type="checkbox"
name="konut[]" value="localhost:9999/Default" />
local test
<input type="checkbox" checked="checked"
name="konut[]" value="z3950.loc.gov:7090/voyager" />
Library of Congress
<br />
RPN sorgu:
<input type="text" size="30" name="sorgu" />
<input type="submit" name="action" value="Ara" />
</form>
';
} else {
echo 'Aranan hedef: ' . htmlspecialchars($sorgu) . '<br />';
for ($i = 0; $i < $konut_sayısı; $i++) {
$id[] = yaz_connect($konut[$i]);
yaz_syntax($id[$i], "usmarc");
yaz_range($id[$i], 1, 10);
yaz_search($id[$i], "rpn", $sorgu);
}
yaz_wait();
for ($i = 0; $i < $konut_sayısı; $i++) {
echo '<hr />' . $konut[$i] . ':';
$error = yaz_error($id[$i]);
if (!empty($error)) {
echo "Hata: $error";
} else {
$hits = yaz_hits($id[$i]);
echo "Sonuç sayısı: $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>';
}
}
?>