2010-11-29 61 views
1

我有添加到数据库的条目的功能,代码我目前所面对的是如下:PHP - 添加多个数据库条目

function create_internal_role($rolename, $rolekey) 
{ 
    $data = array(
     'name' => $rolename, 
     'key' => $rolekey.'1' 
    ); 
    if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
     return $data; 
    } 

    return NULL; 
} 

我想要做的,是使用相同的功能是什么在$ rolekey后面添加另外两个2和3的数据数组,以便使用一个函数添加3个数据,rolekey1,rolekey2和rolekey3

我该如何去做?

回答

1

用了知道关于你的结构,并从你的问题的当前措辞,明显的答案似乎是这样的:

function create_internal_role($rolename, $rolekey) 
{ 
    $ret = array(); 
    $data = array(
     'name' => $rolename, 
     'key' => $rolekey.'1' 
    ); 
    if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
     $ret[] = $data; 
    } 
$data = array(
      'name' => $rolename, 
      'key' => $rolekey.'2' 
     ); 
     if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
      $ret[] = $data; 
     } 
$data = array(
      'name' => $rolename, 
      'key' => $rolekey.'3' 
     ); 
     if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
      $ret[] = $data; 
     } 

     return $ret; 
    } 

如果你在你的问题给予更多的细节,我或许可以给你更好的答案。

+0

我只是希望OP给你更多的细节:) – Gordon 2010-11-29 05:18:40

0

也许这样的事情会工作:

function create_internal_role($rolename, $rolekey) 
{ 
    // define role key indecies 
    $indexArray = array(1,2,3); 
    $ret = array(); // return array 

    // create roles 
    for(i=0; i<count($indexArray); $i++){ 
     $data = array(
      'name' => $rolename, 
      'key' => $rolekey.indexArray[$i] 
     ); 

     if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
      $ret[] = $data; 
     }else{ 
      $ret[] = null; 
     } 
    } 

    return $ret; 
}