SommaireTelecharger la documentationChapitre suivantChapitre precedent  

  .: News :.: Edito :.: Scripts :.: Forum :.: Erreurs :.: Jobs :. 
 
Sommaire

YAZ

Introduction
Installation
Exemple
yaz_addinfo
yaz_close
yaz_connect
yaz_errno
yaz_error
yaz_hits
yaz_element
yaz_database
yaz_present
yaz_range
yaz_record
yaz_search
yaz_syntax
yaz_scan
yaz_scan_result
yaz_ccl_conf
yaz_ccl_parse
yaz_itemorder
yaz_wait

6.105.3 Exemple

PHP/YAZ conserve les connexions aux serveurs. Un entier positif représente l'ID d'une connexion particulière.

Le script ci-dessous montre comment effectuer une recherche paralléle. Lorsqu'il est appelé sans paramètre, ce script affiche la requête. Sinon, il effectue la recherche sur les serveurs.
Recherche paralléle utilisant YAZ

<?php
$num_hosts 
count ($host);
if (empty(
$term) || count($host) == 0) {
    echo 
'<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils">
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default">
        local test
    <input type="checkbox" checked="1"
    name="host[]" value="z3950.bell-labs.com/books">
        BELL Labs Library
    <br>
    RPN Query:
    <input type="text" size="30" name="term">
    <input type="submit" name="action" value="Search">
    '
;
} else {
    echo 
'Vous avez recherché '.htmlspecialchars($term).'<br>';
    for (
$i 0$i $num_hosts$i++) {
        
$id[] = yaz_connect($host[$i]);
        
yaz_syntax($id[$i],"sutrs");
        
yaz_search($id[$i],"rpn",$term);
    }
    
yaz_wait();
    for (
$i 0$i $num_hosts$i++) {
        echo 
'<hr>'.$host[$i].":";
        
$error yaz_error($id[$i]);
        if (!empty(
$error)) {
            echo 
"Erreur: $error";
        } else {
            
$hits yaz_hits($id[$i]);
            echo 
"Nombre de résultats : $hits";
        }
        echo 
'<dl>';
        for (
$p 1$p <= 10$p++) {
            
$rec yaz_record($id[$i],$p,"string");
            if (empty(
$rec)) continue;
            echo 
"<dt><B>$p</B></dt><dd>";
            echo 
ereg_replace("\n""<br>\n",$rec);
            echo 
"</dd>";
        }
        echo 
'</dl>';
    }
}
?>


Chapitre précédentChapitre suivantAccueil nexen.net