PHP - 添加多个数据库条目

时间:2010-11-29 04:49:12

标签: 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;
}

我想要做的是,使用相同的函数添加另外2个数据数组,其中2和3位于$ rolekey后面,因此使用一个函数,它会添加3个数据,rolekey1,rolekey2和rolekey3

我将如何做到这一点?

2 个答案:

答案 0 :(得分: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;
    }

如果您在问题中提供更多详细信息,我可能会给您更好的答案。

答案 1 :(得分: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;
}