本文整理汇总了PHP中jsonRPCClient::pmbesSearch_advancedSearch方法的典型用法代码示例。如果您正苦于以下问题:PHP jsonRPCClient::pmbesSearch_advancedSearch方法的具体用法?PHP jsonRPCClient::pmbesSearch_advancedSearch怎么用?PHP jsonRPCClient::pmbesSearch_advancedSearch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jsonRPCClient
的用法示例。
在下文中一共展示了jsonRPCClient::pmbesSearch_advancedSearch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: search
function search($source_id, $query, $search_id)
{
global $charset;
global $pmb_curl_proxy;
global $base_path;
$this->error = false;
$this->error_message = "";
$params = $this->get_source_params($source_id);
$this->fetch_global_properties();
if ($params["PARAMETERS"]) {
//Affichage du formulaire avec $params["PARAMETERS"]
$vars = unserialize($params["PARAMETERS"]);
foreach ($vars as $key => $val) {
global ${$key};
${$key} = $val;
}
}
// on affecte la valeur 100 au nombre de notices retournées si aucune valeur n'a été affectée
if (!$max_return) {
$max_return = 100;
}
$nb_pages = floor($max_return / 40);
$stop = false;
//construit le tableau pour la recherche multi-critère
foreach ($query as $i => $q) {
$t = array();
$t["inter"] = $q->inter;
$uid = explode("_", $q->uid);
if ($uid[0] == "f") {
$t["field"] = $uid[1];
} else {
$t["field"] = $q->uid;
}
$t["operator"] = $q->op;
if (count($q->values) > 1) {
$vi = 0;
foreach ($q->values as $value) {
$t["value"][$vi] = $value;
$vi++;
}
} else {
$t["value"] = $q->values[0];
}
$tab_query[$i] = $t;
}
// on vérifie d'abord les paramètres du formulaires
if ($display_items == "1") {
$items = true;
} else {
$items = false;
}
//on vérifie le protocole à utiliser...
$this->current_protocole = $protocole;
switch ($this->current_protocole) {
case JSONRPC:
$ws = new jsonRPCClient($url);
$res = $ws->pmbesSearch_advancedSearch($query[0]->sc_type, $tab_query);
//Si il y a des résultats
if ($res["nbResults"]) {
//Si le nombre de notices est > à la valeur max alors on attribue à nb la valeur max
$nb = $res["nbResults"] > $max_return ? $max_return : $res["nbResults"];
//On va chercher le contenu des notices au format pmb_xml_unimarc
$notices = $ws->pmbesSearch_fetchSearchRecords($res["searchId"], 0, $nb, "pmb_xml_unimarc", "utf-8", true, $items);
for ($i = 0; $i < $nb; $i++) {
$this->rec_records($notices[$i], $source_id, $search_id);
}
}
break;
case SOAP:
$ws = new SoapClient($url . "&wsdl");
$res = $ws->pmbesSearch_advancedSearch($query[0]->sc_type, $tab_query);
//Si il y a des résultats
if ($res->nbResults) {
//Si le nombre de notices est > à la valeur max alors on attribue à nb la valeur max
$nb = $res->nbResults > $max_return ? $max_return : $res->nbResults;
//On va chercher le contenu des notices au format pmb_xml_unimarc
$notices = $ws->pmbesSearch_fetchSearchRecords($res->searchId, 0, $nb, "pmb_xml_unimarc", "utf-8", true, $items);
for ($i = 0; $i < $nb; $i++) {
$this->rec_records($notices[$i], $source_id, $search_id);
}
}
break;
}
}