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

  1. <?php
  2. $host=$_REQUEST[host];  
  3. $query=$_REQUEST[query];  
  4. $num_hosts = count($host);  
  5. if (empty($query) || count($host) == 0) { 
  6.    echo '<form method="get">
  7.    <input type="checkbox"
  8.    name="host[]" value="bagel.indexdata.dk/gils" />
  9.       test GILS
  10.    <input type="checkbox"
  11.    name="host[]" value="localhost:9999/Default" />
  12.       test local
  13.    <input type="checkbox" checked="checked"
  14.    name="host[]" value="z3950.loc.gov:7090/voyager" />
  15.       Library of Congress
  16.    <br />
  17.    Requête RPN:
  18.    <input type="text" size="30" name="query" />
  19.    <input type="submit" name="action" value="Search" />
  20.    </form>
  21.    ';  
  22. } else { 
  23.    echo 'Votre recherche pour ' . htmlspecialchars($query) . '<br />'; 
  24.    for ($i = 0; $i < $num_hosts; $i++) { 
  25.       $id[] = yaz_connect($host[$i]); 
  26.       yaz_syntax($id[$i], "usmarc"); 
  27.       yaz_range($id[$i], 1, 10); 
  28.       yaz_search($id[$i], "rpn", $query); 
  29.    } 
  30.    yaz_wait(); 
  31.    for ($i = 0; $i < $num_hosts; $i++) { 
  32.       echo '' . $host[$i] . ':'; 
  33.       $error = yaz_error($id[$i]); 
  34.       if (!empty($error)) { 
  35.          echo "Erreur :$error"; 
  36.       } else { 
  37.          $hits = yaz_hits($id[$i]); 
  38.          echo "Nombre de résultat(s) :$hits"; 
  39.       } 
  40.       echo '<dl>'; 
  41.       for ($p = 1; $p <= 10; $p++) { 
  42.          $rec = yaz_record($id[$i], $p, "string"); 
  43.          if (empty($rec)) continue; 
  44.          echo "<dt><b>$p</b></dt><dd>"; 
  45.          echo nl2br($rec); 
  46.          echo "</dd>"; 
  47.       } 
  48.       echo '</dl>'; 
  49.    }  
  50. }  
  51. ?> 


Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique