当前位置: 首页>>代码示例>>PHP>>正文


PHP jsonRPCClient::pmbesSearch_advancedSearch方法代码示例

本文整理汇总了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;
     }
 }
开发者ID:bouchra012,项目名称:PMB,代码行数:84,代码来源:pmb.class.php


注:本文中的jsonRPCClient::pmbesSearch_advancedSearch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。