<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.yaz.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'it',
  ),
  'this' => 
  array (
    0 => 'yaz.examples.php',
    1 => 'Esempi',
    2 => 'Esempi',
  ),
  'up' => 
  array (
    0 => 'book.yaz.php',
    1 => 'YAZ',
  ),
  'prev' => 
  array (
    0 => 'yaz.installation.php',
    1 => 'Installazione',
  ),
  'next' => 
  array (
    0 => 'ref.yaz.php',
    1 => 'YAZ Funzioni',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/yaz/examples.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="yaz.examples" class="chapter">
 <h1 class="title">Esempi</h1>

 <p class="para">
  PHP/YAZ keeps track of connections with targets
  (Z-Associations). A resource represents a connection to a
  target.
 </p>
 <p class="para">
  The script below demonstrates the parallel searching feature of
  the API. When invoked with no arguments it prints a query form; else
  (arguments are supplied) it searches the targets as given in array
  <code class="literal">host</code>.
 </p>
 <p class="para">
  <div class="example" id="example-1">
   <p><strong>Example #1 Parallel searching using Yaz</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$host</span><span style="color: #007700">=</span><span style="color: #0000BB">$_REQUEST</span><span style="color: #007700">[</span><span style="color: #0000BB">host</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">$query</span><span style="color: #007700">=</span><span style="color: #0000BB">$_REQUEST</span><span style="color: #007700">[</span><span style="color: #0000BB">query</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">$num_hosts </span><span style="color: #007700">= </span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$host</span><span style="color: #007700">);<br />if (empty(</span><span style="color: #0000BB">$query</span><span style="color: #007700">) || </span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$host</span><span style="color: #007700">) == </span><span style="color: #0000BB">0</span><span style="color: #007700">) {<br />    echo </span><span style="color: #DD0000">'&lt;form method="get"&gt;<br />    &lt;input type="checkbox"<br />    name="host[]" value="bagel.indexdata.dk/gils" /&gt;<br />        GILS test<br />    &lt;input type="checkbox"<br />    name="host[]" value="localhost:9999/Default" /&gt;<br />        local test<br />    &lt;input type="checkbox" checked="checked"<br />    name="host[]" value="z3950.loc.gov:7090/voyager" /&gt;<br />        Library of Congress<br />    &lt;br /&gt;<br />    RPN Query:<br />    &lt;input type="text" size="30" name="query" /&gt;<br />    &lt;input type="submit" name="action" value="Search" /&gt;<br />    &lt;/form&gt;<br />    '</span><span style="color: #007700">;        <br />} else {<br />    echo </span><span style="color: #DD0000">'You searched for ' </span><span style="color: #007700">. </span><span style="color: #0000BB">htmlspecialchars</span><span style="color: #007700">(</span><span style="color: #0000BB">$query</span><span style="color: #007700">) . </span><span style="color: #DD0000">'&lt;br /&gt;'</span><span style="color: #007700">;<br />    for (</span><span style="color: #0000BB">$i </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">&lt; </span><span style="color: #0000BB">$num_hosts</span><span style="color: #007700">; </span><span style="color: #0000BB">$i</span><span style="color: #007700">++) {<br />        </span><span style="color: #0000BB">$id</span><span style="color: #007700">[] = </span><span style="color: #0000BB">yaz_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$host</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]);<br />        </span><span style="color: #0000BB">yaz_syntax</span><span style="color: #007700">(</span><span style="color: #0000BB">$id</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">], </span><span style="color: #DD0000">"usmarc"</span><span style="color: #007700">);<br />        </span><span style="color: #0000BB">yaz_range</span><span style="color: #007700">(</span><span style="color: #0000BB">$id</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">], </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">10</span><span style="color: #007700">);<br />        </span><span style="color: #0000BB">yaz_search</span><span style="color: #007700">(</span><span style="color: #0000BB">$id</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">], </span><span style="color: #DD0000">"rpn"</span><span style="color: #007700">, </span><span style="color: #0000BB">$query</span><span style="color: #007700">);<br />    }<br />    </span><span style="color: #0000BB">yaz_wait</span><span style="color: #007700">();<br />    for (</span><span style="color: #0000BB">$i </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">&lt; </span><span style="color: #0000BB">$num_hosts</span><span style="color: #007700">; </span><span style="color: #0000BB">$i</span><span style="color: #007700">++) {<br />        echo </span><span style="color: #DD0000">'&lt;hr /&gt;' </span><span style="color: #007700">. </span><span style="color: #0000BB">$host</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">] . </span><span style="color: #DD0000">':'</span><span style="color: #007700">;<br />        </span><span style="color: #0000BB">$error </span><span style="color: #007700">= </span><span style="color: #0000BB">yaz_error</span><span style="color: #007700">(</span><span style="color: #0000BB">$id</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]);<br />        if (!empty(</span><span style="color: #0000BB">$error</span><span style="color: #007700">)) {<br />            echo </span><span style="color: #DD0000">"Error: </span><span style="color: #0000BB">$error</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />        } else {<br />            </span><span style="color: #0000BB">$hits </span><span style="color: #007700">= </span><span style="color: #0000BB">yaz_hits</span><span style="color: #007700">(</span><span style="color: #0000BB">$id</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]);<br />            echo </span><span style="color: #DD0000">"Result Count </span><span style="color: #0000BB">$hits</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />        }<br />        echo </span><span style="color: #DD0000">'&lt;dl&gt;'</span><span style="color: #007700">;<br />        for (</span><span style="color: #0000BB">$p </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">; </span><span style="color: #0000BB">$p </span><span style="color: #007700">&lt;= </span><span style="color: #0000BB">10</span><span style="color: #007700">; </span><span style="color: #0000BB">$p</span><span style="color: #007700">++) {<br />            </span><span style="color: #0000BB">$rec </span><span style="color: #007700">= </span><span style="color: #0000BB">yaz_record</span><span style="color: #007700">(</span><span style="color: #0000BB">$id</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">], </span><span style="color: #0000BB">$p</span><span style="color: #007700">, </span><span style="color: #DD0000">"string"</span><span style="color: #007700">);<br />            if (empty(</span><span style="color: #0000BB">$rec</span><span style="color: #007700">)) continue;<br />            echo </span><span style="color: #DD0000">"&lt;dt&gt;&lt;b&gt;</span><span style="color: #0000BB">$p</span><span style="color: #DD0000">&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;"</span><span style="color: #007700">;<br />            echo </span><span style="color: #0000BB">nl2br</span><span style="color: #007700">(</span><span style="color: #0000BB">$rec</span><span style="color: #007700">);<br />            echo </span><span style="color: #DD0000">"&lt;/dd&gt;"</span><span style="color: #007700">;<br />        }<br />        echo </span><span style="color: #DD0000">'&lt;/dl&gt;'</span><span style="color: #007700">;<br />    }<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
 </p>
</div>
<?php manual_footer($setup); ?>