Podręcznik PHP
Poprzedni |  | Następny

# yaz_scan

(PHP 4 >= 4.0.5)

yaz_scan -- Prepares for a scan

## Description

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

This function prepares for a Z39.50 Scan Request, where parameter `id` specifies connection. Starting term point for the scan is given by `startterm`. The form in which the starting term is specified is given by parameter `type`. Currently only type `rpn` is supported. The optional parameter `flags` specifies additional information to control the behaviour of the scan request. Three indexes are currently read from the flags: `number` (number of terms requested), `position` (preferred position of term) and `stepSize` (preferred step size). To actually transfer the Scan Request to the server and receive the Scan Response, yaz_wait() must be called. Upon completion of yaz_wait() call yaz_error() and yaz_scan_result() to handle the response.

The syntax of `startterm` is similar to the RPN query as described in yaz_search(). The startterm consists of zero or more `@attr`-operator specifications, then followed by exactly one token.

Przykład 1. PHP function that scans titles
`<?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 "Scan failed. Error: " . yaz_error($id) . "<br />"; } } ?>`

Poprzedni | Spis treści | Następny
yaz_scan_result | Początek rozdziału | yaz_schema