8.137 YAZ
8 Référence des fonctions
Manuel PHP
. Introduction . Installation . Configuration à l'exécution . Types de ressources . Constantes pré-définies ->Exemples . yaz_addinfo . yaz_ccl_conf . yaz_ccl_parse . yaz_close . yaz_connect . yaz_database . yaz_element . yaz_errno . yaz_error . yaz_es_result . yaz_get_option . yaz_hits . yaz_itemorder . yaz_present . yaz_range . yaz_record . yaz_scan_result . yaz_scan . yaz_schema . yaz_search . yaz_set_option . yaz_sort . yaz_syntax . yaz_wait
|
8.137.6 Exemples
PHP/YAZ conserve les connexions aux serveurs. Une ressource
de connexion représente une connexion particulière.
Le script ci-dessous montre comment effectuer une recherche parallèle.
Lorsqu'il est appelé sans paramètres, ce script affiche la
requête. Sinon, il effectue la recherche sur les serveurs donnés par le tableau
host
.
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="checked" name="host[]" value="z3950.loc.gov:7090/voyager" /> Library of Congress <br /> RPN Query: <input type="text" size="30" name="term" /> <input type="submit" name="action" value="Search" /> </form> '; } else { echo 'Vous avez recherché '.htmlspecialchars($term).'<br />'; for ($i = 0; $i < $num_hosts; $i++) { $id[] = yaz_connect($host[$i]); yaz_range($id[$i], 1, 10); 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><strong>$p</strong></dt><dd>"; echo nl2br($rec); echo "</dd>"; } echo '</dl>'; } } ?>
|
|