CX. YAZ
The
yaz(
)
functions
wrap
the
YAZ
API
.
The
home
page
of
the
project
is
http
:
/
/www.indexdata.dk
/
yaz
/
.
Information
about
the
phpyaz
module
can
be
found
at
http
:
/
/www.indexdata.dk
/
phpyaz
/
.
PHP
/
YAZ
is
much
simpler
to
use
than
the
C
API
for
YAZ
but
less
flexible
.
The
intent
is
to
make
it
easy
to
build
basic
client
functions
.
It
supports
persistent
stateless
connections
very
similar
to
those
offered
by
the
various
SQL
APIs
that
are
available
for
PHP
.
This
means
that
sessions
are
stateless
but
shared
amongst
users
,
thus
saving
the
connect
and
INIT
steps
in
many
cases
.
Before
compiling
PHP
with
the
PHP
/
YAZ
module
you
'
ll
need
the
YAZ
toolkit
.
Build
YAZ
and
install
it
.
Build
PHP
with
your
favourite
modules
and
add
option
--with-yaz
.
A
positive
integer
represents
the
ID
of
a
particular
association
.
When
invoked
it
either
prints
a
query
form
(
if
no
arguments
are
supplied
)
or
if
there
are
arguments
(term
and
one
or
more
hosts
)
it
searches
the
targets
in
array
host
.
Ejemplo
1
.
YAZ(
)
$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
'You
searced
for
'
.
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
"Error
:
$error"
;
}
else
{
$hits
=
yaz_hits($id[$i])
;
echo
"Result
Count
$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
'
;
}
}
|
|