yaz_scan_result
<<<
yaz_scan yaz_search
>>>

6.110 YAZ
6 Index des fonctions
 Manuel PHP

Introduction
Installation
Configuration à l'exécution
Types de ressources
Constantes Prédefinies
Exemples
yaz_addinfo
yaz_ccl_conf
yaz_ccl_parse
yaz_close
yaz_connect
yaz_database
yaz_element
yaz_errno
yaz_error
yaz_hits
yaz_itemorder
yaz_present
yaz_range
yaz_record
yaz_scan_result
->yaz_scan
yaz_search
yaz_sort
yaz_syntax
yaz_wait

6.110.22 yaz_scan()Prépare un scan

[ Exemples avec yaz_scan ]   PHP 4 >= 4.0.5

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", "&#64;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 &nbsp;";
          }
          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>";
        }
      }

<< yaz_scan >>
yaz_scan_result YAZ yaz_search