多个参数nusoap

时间:2012-09-25 15:41:14

标签: web-services parameters arguments nusoap

我有一个我正在使用的Web服务,当我使用方法时,我可以传递一个参数。我试图找出如果可能的话如何传递多个。所以,例如:

我有一张桌子,里面有学校的学生名单。在此表中,列为:

STUDENT_NAME     | STUDENT_ID   |    STUDENT_GRADE
--------------------------------------------------------------------------------
John Smith       | 0123456      | 1st Grade
Mike Johnson     | 8564377      | 1st Grade
Tori Mackrill    | 0123456      | 2nd Grade
Beth Gridly      | 8564377      | 3rd Grade

所以我希望能够设置一个参数值来返回所有在一年级或三年级的学生。现在,我可以很容易地返回1个等级,但是当我将参数设置为由逗号分隔的两个参数时,它将不起作用。这是我目前为一个参数所做的一个例子。

function getStudents($Grade)
   {
       $CI =& get_instance();
       $CI->load->model("gradelevel");

       $where = array('STUDENT_GRADE'=>$grade);
       $result = $CI->gradelevel->getStudents($where); 
       $Student = $result->row_array();

       return  $Student;
    }

$this->nusoap_server->register('getStudents',
        array ('Grade' => "xsd:string"),           // input parameters
        array("return"=>"tns:Grades"),             // output parameters
        'urn:nuserver',                            // namespace
        'urn:nuserver#getStudents',                // SOAPAction
        'rpc',                                     // style
        'encoded',                                 // use
        'Returns a list of students');

我需要添加或更改哪些内容才能接受多个成绩选择?

1 个答案:

答案 0 :(得分:0)

希望这会有所帮助:

function getStudents($Grade,$Grade2,$Grade3)
 {
   $CI =& get_instance();
   $CI->load->model("gradelevel");

   $where = array('STUDENT_GRADE'=>$grade);
   $result = $CI->gradelevel->getStudents($where); 
   $Student = $result->row_array();

   return  $Student;
  }

$this->nusoap_server->register('getStudents',
    array ('Grade' => "xsd:string", 'Grade2' => "xsd:string", 'Grade3' => "xsd:string"),           // input parameters
    array("return"=>"tns:Grades"),             // output parameters
    'urn:nuserver',                            // namespace
    'urn:nuserver#getStudents',                // SOAPAction
    'rpc',                                     // style
    'encoded',                                 // use
    'Returns a list of students');