Users can search using more than 3 criterias (criterias are now added dynamically)
Results can be displayed using 20,50 or 100 results per page.
Added arrows and numbers to walk through the results (as in OPAC)
-<TMPL_IF NAME="opac">
+<<TMPL_IF NAME="opac">
<TMPL_INCLUDE NAME="opac-top.inc">
<TMPL_ELSE>
<TMPL_INCLUDE NAME="cat-top.inc">
</TMPL_IF>
-<span style="font-size:2em; text-align:left;">MARC Search</span>
-<br/>
+<span style="font-size:2em; text-align:left;">MARC search results</span>
+<br>
+
+<center>
+<table align=middle border=0 cellpadding=0 cellspacing=0 width=80%">
+<tr>
+ </tr>
+ <tr><tr height=20></tr>
+ <td align=middle>
+ <TMPL_IF NAME=displayprev>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromprev">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/prev.gif" border=0></a>
+ </TMPL_IF>
+ <TMPL_LOOP NAME=numbers>
+ <TMPL_IF NAME=highlight>
+ <img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>-highlight.gif">
+ <TMPL_ELSE>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME=startfrom>&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>.gif" border=0></a>
+ </TMPL_IF>
+ </TMPL_LOOP>
+ <TMPL_IF NAME=displaynext>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromnext">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>&resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/next.gif" border=0></a>
+ </TMPL_IF>
+ </td>
+ </tr>
+
+ </table>
+</center>
+
+<TMPL_IF name=total>
+ <b>Results <TMPL_VAR name="from"> to <TMPL_VAR name="to"> of <TMPL_VAR name="total"></b><br><br>
+<TMPL_ELSE>
+  No results found.<br>
+</TMPL_IF>
<center>
<table border=0 cellspacing=0 cellpadding=2 width="90%">
<thead>
<tr
<TMPL_IF NAME="opac">
- bgcolor=#99cccc background=/images/background-opac.gif
+ bgcolor=#99cccc background=/images/background-opac.gif>
<TMPL_ELSE>
- bgcolor="#ad11ad"
+ bgcolor="#ad11ad">
</TMPL_IF>
- >
<th align="left"><span style="color:#FFFFFF;">Biblio #</span></th>
<th align="left"><span style="color:#FFFFFF;">Author</span></th>
<th align="left"><span style="color:#FFFFFF;">Title</span></th>
</tr>
-</thead>
<tbody>
<TMPL_LOOP name="result">
<tr>
<td><a href="../MARCdetail.pl?bibid=<TMPL_VAR name="bibid">"><TMPL_VAR name="bibid"></a></td>
<td><TMPL_VAR name="author"></td>
- <td><a href="../MARCdetail.pl?bibid=<TMPL_VAR name="bibid">"><TMPL_VAR name="title"></a></td>
+ <td><TMPL_VAR name="title"></td>
</tr>
</TMPL_LOOP>
-</tbody>
</table>
+<table align=middle border=0 cellpadding=0 cellspacing=0 width=80%">
+<tr>
+ </tr>
+ <tr><tr height=20></tr>
+ <td align=middle>
+ <TMPL_IF NAME=displayprev>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromprev">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/prev.gif" border=0></a>
+ </TMPL_IF>
+ <TMPL_LOOP NAME=numbers>
+ <TMPL_IF NAME=highlight>
+ <img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>-highlight.gif">
+ <TMPL_ELSE>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME=startfrom>&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>.gif" border=0></a>
+ </TMPL_IF>
+ </TMPL_LOOP>
+ <TMPL_IF NAME=displaynext>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromnext">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>&resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/next.gif" border=0></a>
+ </TMPL_IF>
+ </td>
+ </tr>
+
+ </table>
+</center>
+
<TMPL_IF NAME="opac">
<TMPL_INCLUDE NAME="opac-bottom.inc">
<TMPL_ELSE>
<TMPL_INCLUDE NAME="cat-top.inc">
</TMPL_IF>
-<span style="font-size:2em; text-align:left;">MARC Search</span>
+<span style="font-size:2em; text-align:left;">Recherche MARC</span>
<center>
<form name="f" method="post">
+
+<input type="hidden" name="op" value="do_search">
<input type="hidden" name="type" value="intranet">
+<input type="hidden" name="nbstatements" value="<TMPL_VAR NAME="nbstatements">">
+
<table border=0 cellspacing=0 cellpadding=2 width="80%>
<tr align="center">
<td colspan=3>
<div name="sql">
- <input type="hidden" name="op" value="do_search">
<textarea name="sql" rows=5 cols=60 disabled readonly></textarea>
</div>
</td>
<td colspan=2 bgcolor="#ad11ad" valign="top" align="left">
<span style="color:#FFFFFF;">
<b>HELP :</b><br/>
- Build your request using MARC fields and subfields.
- OK will show the list of the corresponding biblios in your library.
+ Build your request using MARC fields and subfields. Add criteria lets you add another criteria to your search.
+ Search commits the request and displays the results.
</span>
</td>
</tr>
- <!-- 000000000000000000000000000000000000000000000000000000 -->
- <tr>
- <td>
- <input type=hidden name="and_or" value="">
- </td>
- <td><TMPL_VAR name="marclist"></td>
- <td>
- <select name="excluding" size="1" onchange="sql_update()">
- <option value=""> </option>
- <option value="not">not</option>
- </select>
- </td>
- <td>
- <select name="operator" size="1" onchange="sql_update()">
- <option value="=">equals</option>
- <option value=">">is more than</option>
- <option value=">=">is more than or equal to</option>
- <option value="<">is less than</option>
- <option value="<=">is less than or equal to</option>
- <option value="start">starts with</option>
- <option value="contains">contains</option>
- </select>
- </td>
- <td><input type="text" name="value" onChange="sql_update()"></td>
- </tr>
- <tr>
- <td>
- <select name="and_or" size="1" onchange="sql_update()">
- <option value="and">and</option>
- <option value="or">or</option>
- </select>
- </td>
- <td><TMPL_VAR name="marclist"></td>
- <td>
- <select name="excluding" size="1" onchange="sql_update()">
- <option value=""> </option>
- <option value="not">not</option>
- </select>
- </td>
- <td>
- <select name="operator" size="1" onchange="sql_update()">
- <option value="=">equals</option>
- <option value=">">is more than</option>
- <option value=">=">is more than or equal to</option>
- <option value="<">is less than</option>
- <option value="<=">is less than or equal to</option>
- <option value="start">starts with</option>
- <option value="contains">contains</option>
- </select>
- </td>
- <td><input type="text" name="value" onChange="sql_update()"></td>
- </tr>
+ <TMPL_LOOP NAME="statements">
<tr>
<td>
- <select name="and_or" size="1" onchange="sql_update()">
- <option value="and">and</option>
- <option value="or">or</option>
- </select>
+ <TMPL_IF NAME="first">
+ <input type="hidden" name="and_or" value="">
+ <TMPL_ELSE>
+ <select name="and_or" size="1" onchange="sql_update()">
+ <option value="and">and</option>
+ <option <TMPL_IF NAME="or">selected </TMPL_IF>value="or">or</option>
+ </select>
+ </TMPL_IF>
</td>
<td><TMPL_VAR name="marclist"></td>
<td>
<select name="excluding" size="1" onchange="sql_update()">
- <option value=""> </option>
- <option value="not">not</option>
+ <option value="0"> </option>
+ <option <TMPL_IF NAME="not">selected </TMPL_IF>value="1">not</option>
</select>
</td>
<td>
<select name="operator" size="1" onchange="sql_update()">
- <option value="=">equals</option>
- <option value=">">is more than</option>
- <option value=">=">is more than or equal to</option>
- <option value="<">is less than</option>
- <option value="<=">is less than or equal to</option>
- <option value="start">starts with</option>
- <option value="contains">contains</option>
+ <option <TMPL_IF NAME="eq">selected</TMPL_IF> value="=">Is equal to</option>
+ <option <TMPL_IF NAME="start">selected</TMPL_IF> value="start">Starts with</option>
+ <option <TMPL_IF NAME="contains">selected</TMPL_IF> value="contains">Contains</option>
+ <option <TMPL_IF NAME="gt">selected</TMPL_IF> value=">">Is greater than</option>
+ <option <TMPL_IF NAME="ge">selected</TMPL_IF> value=">=">Is greater or equal to</option>
+ <option <TMPL_IF NAME="lt">selected</TMPL_IF> value="<">Is lower than</option>
+ <option <TMPL_IF NAME="le">selected</TMPL_IF> value="<=">Is lower or equal to</option>
</select>
</td>
- <td><input type="text" name="value" onChange="sql_update()"></td>
+ <td><input type="text" name="value" onChange="sql_update()" <TMPL_IF NAME="value">value="<TMPL_VAR NAME="value">"</TMPL_IF>></td>
</tr>
- <tr><td colspan=5 align=center><input type="submit" value="OK"></td></tr>
+ </TMPL_LOOP>
+ </table>
+ <br>
+
+ <table width="90%">
+ <tr>
+ <td align="left" width="33%"><input type="button" value="Add criteria" onClick="AddStatement()"></td>
+ <td align="middle" width="33%"><input type="submit" value="Search"></td>
+ <td align="right" width="33%">Results per page :
+ <select align="right" name="resultsperpage" size="1">
+ <option value="20">20</option>
+ <option value="50">50</option>
+ <option value="100">100</option>
+ </select>
+ </td>
+ </tr>
</table>
</form>
+</center>
+
<script>
function sql_update() {
document.f.sql.value="";
document.f.sql.value = document.f.sql.value+
document.f.and_or[i].value + ' (' +
document.f.excluding[i].value + ' ' +
- document.f.marclist[i].value + '' +
- document.f.operator[i].value + '' +
+ document.f.marclist[i].value + ' ' +
+ document.f.operator[i].value + ' ' +
'\''+document.f.value[i].value + '\') ';
}
}
}
+
+function AddStatement() {
+
+ document.forms[0].op.value="AddStatement";
+ document.f.submit();
+}
+
</script>
<TMPL_IF NAME="opac">
<TMPL_INCLUDE NAME="opac-bottom.inc">
<TMPL_ELSE>
<TMPL_INCLUDE NAME="cat-bottom.inc">
</TMPL_IF>
+
<TMPL_INCLUDE NAME="cat-top.inc">
</TMPL_IF>
-<span style="font-size:2em; text-align:left;">MARC Search</span>
-<br/>
+<span style="font-size:2em; text-align:left;">Résultats de la recherche MARC</span>
+<br>
<center>
+<table align=middle border=0 cellpadding=0 cellspacing=0 width=80%">
+<tr>
+ </tr>
+ <tr><tr height=20></tr>
+ <td align=middle>
+ <TMPL_IF NAME=displayprev>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromprev">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/prev.gif" border=0></a>
+ </TMPL_IF>
+ <TMPL_LOOP NAME=numbers>
+ <TMPL_IF NAME=highlight>
+ <img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>-highlight.gif">
+ <TMPL_ELSE>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME=startfrom>&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>.gif" border=0></a>
+ </TMPL_IF>
+ </TMPL_LOOP>
+ <TMPL_IF NAME=displaynext>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromnext">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>&resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/next.gif" border=0></a>
+ </TMPL_IF>
+ </td>
+ </tr>
+
+ </table>
+</center>
+
+<TMPL_IF name=total>
+ <b>Résultats <TMPL_VAR name="from"> à <TMPL_VAR name="to"> de <TMPL_VAR name="total"> résultats </b><br><br>
+<TMPL_ELSE>
+  Aucun résultat trouvé pour vos critères de recherche<br>
+</TMPL_IF>
+<center>
<table border=0 cellspacing=0 cellpadding=2 width="90%">
<thead>
<tr
<TMPL_IF NAME="opac">
- bgcolor=#99cccc background=/images/background-opac.gif
+ bgcolor=#99cccc background=/images/background-opac.gif>
<TMPL_ELSE>
- bgcolor="#ad11ad"
+ bgcolor="#ad11ad">
</TMPL_IF>
- >
<th align="left"><span style="color:#FFFFFF;">Notice #</span></th>
<th align="left"><span style="color:#FFFFFF;">Auteur</span></th>
<th align="left"><span style="color:#FFFFFF;">Titre</span></th>
</tr>
</TMPL_LOOP>
</table>
+
+<table align=middle border=0 cellpadding=0 cellspacing=0 width=80%">
+<tr>
+ </tr>
+ <tr><tr height=20></tr>
+ <td align=middle>
+ <TMPL_IF NAME=displayprev>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromprev">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/prev.gif" border=0></a>
+ </TMPL_IF>
+ <TMPL_LOOP NAME=numbers>
+ <TMPL_IF NAME=highlight>
+ <img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>-highlight.gif">
+ <TMPL_ELSE>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME=startfrom>&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/<TMPL_VAR NAME=number>.gif" border=0></a>
+ </TMPL_IF>
+ </TMPL_LOOP>
+ <TMPL_IF NAME=displaynext>
+ <a href=search.pl?startfrom=<TMPL_VAR NAME="startfromnext">&<TMPL_LOOP NAME=searchdata><TMPL_VAR NAME="term">=<TMPL_VAR name="val" ESCAPE=URL>&</TMPL_LOOP>&resultsperpage=<TMPL_VAR NAME="resultsperpage">&type=intranet&op=do_search><img src="/intranet-tmpl/default/images/numbers/next.gif" border=0></a>
+ </TMPL_IF>
+ </td>
+ </tr>
+
+ </table>
+</center>
+
<TMPL_IF NAME="opac">
<TMPL_INCLUDE NAME="opac-bottom.inc">
<TMPL_ELSE>
<center>
<form name="f" method="post">
+
+<input type="hidden" name="op" value="do_search">
<input type="hidden" name="type" value="intranet">
+<input type="hidden" name="nbstatements" value="<TMPL_VAR NAME="nbstatements">">
+
<table border=0 cellspacing=0 cellpadding=2 width="80%>
<tr align="center">
<td colspan=3>
<div name="sql">
- <input type="hidden" name="op" value="do_search">
<textarea name="sql" rows=5 cols=60 disabled readonly></textarea>
</div>
</td>
<td colspan=2 bgcolor="#ad11ad" valign="top" align="left">
<span style="color:#FFFFFF;">
<b>AIDE :</b><br/>
- Construisez votre requète en utilisant les champs MARC.
- OK affichera la liste des notices correspondant à vos critères.
+ Construisez votre requète en utilisant les champs MARC puis lancez
+ la recherche pour afficher la liste des notices correspondant à vos critères.
+ En cliquant sur "Ajouter un critère" vous pouvez ajouter un critère de recherche sans perdre vos critères déjà entrés.
</span>
</td>
</tr>
-
- <!-- 000000000000000000000000000000000000000000000000000000 -->
- <tr>
- <td>
- <input type=hidden name="and_or" value="">
- </td>
- <td><TMPL_VAR name="marclist"></td>
- <td>
- <select name="excluding" size="1" onchange="sql_update()">
- <option value=""> </option>
- <option value="not">non</option>
- </select>
- </td>
- <td>
- <select name="operator" size="1" onchange="sql_update()">
- <option value="=">Egale</option>
- <option value=">">Supérieur à</option>
- <option value=">=">Supérieur ou égal à</option>
- <option value="<">Inférieur à</option>
- <option value="<=">Inférieur ou égal à</option>
- <option value="start">Commence par</option>
- <option value="contains">Contient</option>
- </select>
- </td>
- <td><input type="text" name="value" onChange="sql_update()"></td>
- </tr>
+ <TMPL_LOOP NAME="statements">
<tr>
<td>
- <select name="and_or" size="1" onchange="sql_update()">
- <option value="and">et</option>
- <option value="or">ou</option>
- </select>
+ <TMPL_IF NAME="first">
+ <input type="hidden" name="and_or" value="">
+ <TMPL_ELSE>
+ <select name="and_or" size="1" onchange="sql_update()">
+ <option value="and">et</option>
+ <option <TMPL_IF NAME="or">selected </TMPL_IF>value="or">ou</option>
+ </select>
+ </TMPL_IF>
</td>
<td><TMPL_VAR name="marclist"></td>
<td>
<select name="excluding" size="1" onchange="sql_update()">
- <option value=""> </option>
- <option value="not">non</option>
+ <option value="0"> </option>
+ <option <TMPL_IF NAME="not">selected </TMPL_IF>value="1">non</option>
</select>
</td>
<td>
<select name="operator" size="1" onchange="sql_update()">
- <option value="=">Egale</option>
- <option value=">">Supérieur à</option>
- <option value=">=">Supérieur ou égal à</option>
- <option value="<">Inférieur à</option>
- <option value="<=">Inférieur ou égal à</option>
- <option value="start">Commence par</option>
- <option value="contains">Contient</option>
+ <option <TMPL_IF NAME="eq">selected</TMPL_IF> value="=">Egale</option>
+ <option <TMPL_IF NAME="start">selected</TMPL_IF> value="start">Commence par</option>
+ <option <TMPL_IF NAME="contains">selected</TMPL_IF> value="contains">Contient</option>
+ <option <TMPL_IF NAME="gt">selected</TMPL_IF> value=">">Supérieur à</option>
+ <option <TMPL_IF NAME="ge">selected</TMPL_IF> value=">=">Supérieur ou égal à</option>
+ <option <TMPL_IF NAME="lt">selected</TMPL_IF> value="<">Inférieur à</option>
+ <option <TMPL_IF NAME="le">selected</TMPL_IF> value="<=">Inférieur ou égal à</option>
</select>
</td>
- <td><input type="text" name="value" onChange="sql_update()"></td>
+ <td><input type="text" name="value" onChange="sql_update()" <TMPL_IF NAME="value">value="<TMPL_VAR NAME="value">"</TMPL_IF>></td>
</tr>
- <tr>
- <td>
- <select name="and_or" size="1" onchange="sql_update()">
- <option value="and">et</option>
- <option value="or">ou</option>
- </select>
- </td>
- <td><TMPL_VAR name="marclist"></td>
- <td>
- <select name="excluding" size="1" onchange="sql_update()">
- <option value=""> </option>
- <option value="not">not</option>
- </select>
- </td>
- <td>
- <select name="operator" size="1" onchange="sql_update()">
- <option value="=">Egale</option>
- <option value=">">Supérieur à</option>
- <option value=">=">Supérieur ou égal à</option>
- <option value="<">Inférieur à</option>
- <option value="<=">Inférieur ou égal à</option>
- <option value="start">Commence par</option>
- <option value="contains">Contient</option>
- </select>
- </td>
- <td><input type="text" name="value" onChange="sql_update()"></td>
- </tr>
- <tr><td colspan=5 align=center><input type="submit" value="OK"></td></tr>
+ </TMPL_LOOP>
+ </table>
+ <br>
+
+ <table width="90%">
+ <tr>
+ <td align="left" width="33%"><input type="button" value="Ajouter un critère" onClick="AddStatement()"></td>
+ <td align="center" width="33%"><input type="submit" value="Lancer la recherche"></td>
+ <td align="right" width="33%">Résultats par page :
+ <select align="right" name="resultsperpage" size="1">
+ <option value="20">20</option>
+ <option value="50">50</option>
+ <option value="100">100</option>
+ </select>
+ </td>
+ </tr>
</table>
</form>
+</center>
+
<script>
function sql_update() {
document.f.sql.value="";
document.f.sql.value = document.f.sql.value+
document.f.and_or[i].value + ' (' +
document.f.excluding[i].value + ' ' +
- document.f.marclist[i].value + '' +
- document.f.operator[i].value + '' +
+ document.f.marclist[i].value + ' ' +
+ document.f.operator[i].value + ' ' +
'\''+document.f.value[i].value + '\') ';
}
}
}
+
+function AddStatement() {
+
+ document.forms[0].op.value="AddStatement";
+ document.f.submit();
+}
+
</script>
<TMPL_IF NAME="opac">
<TMPL_INCLUDE NAME="opac-bottom.inc">
<TMPL_ELSE>
<TMPL_INCLUDE NAME="cat-bottom.inc">
</TMPL_IF>
+