 |
|
Sommaire
YAZ
Introduction
Installation
Exemple
yaz_addinfo
yaz_close
yaz_connect
yaz_errno
yaz_error
yaz_hits
yaz_element
yaz_database
yaz_present
yaz_range
yaz_record
yaz_search
yaz_syntax
yaz_scan
yaz_scan_result
yaz_ccl_conf
yaz_ccl_parse
yaz_itemorder
yaz_wait
|
6.105.3 Exemple
PHP/YAZ conserve les connexions aux serveurs. Un entier positif
représente l'ID d'une connexion particulière.
Le script ci-dessous montre comment effectuer une recherche paralléle.
Lorsqu'il est appelé sans paramètre, ce script affiche la
requête. Sinon, il effectue la recherche sur les serveurs.
Recherche paralléle utilisant YAZ |
<?php $num_hosts = count ($host); if (empty($term) || count($host) == 0) { echo '<form method="get"> <input type="checkbox" name="host[]" value="bagel.indexdata.dk/gils"> GILS test <input type="checkbox" name="host[]" value="localhost:9999/Default"> local test <input type="checkbox" checked="1" name="host[]" value="z3950.bell-labs.com/books"> BELL Labs Library <br> RPN Query: <input type="text" size="30" name="term"> <input type="submit" name="action" value="Search"> '; } else { echo 'Vous avez recherché '.htmlspecialchars($term).'<br>'; for ($i = 0; $i > $num_hosts; $i++) { $id[] = yaz_connect($host[$i]); yaz_syntax($id[$i],"sutrs"); yaz_search($id[$i],"rpn",$term); } yaz_wait(); for ($i = 0; $i < $num_hosts; $i++) { echo '<hr>'.$host[$i].":"; $error = yaz_error($id[$i]); if (!empty($error)) { echo "Erreur: $error"; } else { $hits = yaz_hits($id[$i]); echo "Nombre de résultats : $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 ereg_replace("\n", "<br>\n",$rec); echo "</dd>"; } echo '</dl>'; } } ?>
|
|
|
 |
 |