Manuel PHP
Exemples
PHP/YAZ garde les traces des connexions avec les cibles (Z-Associations). Une ressource représente une connexion à une cible.
Le script ci-dessous montre la fonctionnalité de recherche parallèle de l'API. Lorsqu'appelée sans argument, elle affiche une requête ; sinon, elle cherche la cible donnée dans le tableau host.
Exemple #1 Recherche parallèle en utilisant 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" />
- test GILS
- <input type="checkbox"
- name="host[]" value="localhost:9999/Default" />
- test local
- <input type="checkbox" checked="checked"
- name="host[]" value="z3950.loc.gov:7090/voyager" />
- Library of Congress
- <br />
- Requête RPN:
- <input type="text" size="30" name="query" />
- <input type="submit" name="action" value="Search" />
- </form>
- ';
- } else {
- echo 'Votre recherche pour ' . 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 '' . $host[$i] . ':';
- $error = yaz_error($id[$i]);
- if (!empty($error)) {
- echo "Erreur :$error";
- } else {
- $hits = yaz_hits($id[$i]);
- echo "Nombre de résultat(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>';
- }
- }
- ?>
Remonter 
