PHP Manual
Prev |  | Next

# yaz_scan

(PHP 4 >= 4.0.5, PECL)

yaz_scan -- Prepares for a scan

## Description

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

This function prepares for a Z39.50 Scan Request on the specified connection.

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.

## Parameters

`id`

  The connection resource returned by yaz_connect().

`type`

  Currently only type `rpn` is supported.

`startterm`

  Starting term point for the scan.

  The form in which the starting term is specified is given by parameter `type`.

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

`flags`

  This optional parameter specifies additional information to control the behaviour of the scan request. Three indexes are currently read from the flags array: `number` (number of terms requested), `position` (preferred position of term) and `stepSize` (preferred step size).

## Return Values

No value is returned.

## Examples

Example 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; ';
foreach ($options as $key => $val) {
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 />";
}
}
?>`

Prev | Home | Next
yaz_scan_result | Up | yaz_schema