yaz_scan_result
<<<
yaz_scan yaz_schema
>>>

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.24 yaz_scan()Prépare un scan

[ Exemples avec yaz_scan ]   PHP 4 >= 4.0.5, PHP 5

int  yaz_scan ( resource   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 réellement 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 sur un serveur YAZ

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

<< yaz_scan >>
yaz_scan_result YAZ yaz_schema