SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
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.17 yaz_scan

[ Exemples avec yaz_scan ]   PHP 4 >= 4.0.5

Description

int yaz_scan(int id ,string type ,string startterm ,[array flags ])

yaz_scan prépare une requête "Z39.50 Scan Request". id spécifie l'hôte cible. Le point de départ est donné avec startterm. La forme de spécification du point de départ est donné par type. Actuellement, le type rpn est supporté. Le paramètre optionnel flags donne des informations supplémentaires pour contrôler le comportement de la requête de scan. Actuellement, trois index sont lus dans ce paramètre : number (nombre de termes requis), position (position préférée du terme) et stepSize (taille du pas préférée). Pour reéllement envoyer la requête de recherche à l'hôte, et recevoir la réponse, yaz_wait doit être appelée. A la fin de yaz_wait, yaz_error et yaz_scan_result auront les résultats.

La syntaxe de startterm est similaire aux requêtes RPN, décrites dans yaz_search. startterm est constitué de zéro ou plus spécifications, avec les opérateurs @attr, suivi par exactement un token.

Fonction PHP qui scanne les titres

function scan_titles($id, $starterm) {
        yaz_scan($id,"rpn", "@attr 1=4 " . $starterm);
        yaz_wait();
        $errno = yaz_errno($id);
        if ($errno == 0) {
          $ar = yaz_scan_result($id,&$options);
          echo 'Scan ok; ';
          $ar = yaz_scan_result($id, &$options);
          while(list($key,$val)=each($options)) {
             echo "$key = $val  ";
          }
          echo '<br><table><tr><td>';
          while(list($key,list($k, $term, $tcount))=each($ar)) {
            if (empty($k)) continue;
            echo "<tr><td>$term</td><td>";
            echo $tcount;
            echo "</td></tr>";
          }
          echo '</table>';
        } else {
          echo "Echec du scan. Erreur: " . yaz_error($id) . "<br>";
        }
      }


Chapitre précédentChapitre suivantAccueil nexen.net