如何将复选框中的值插入数据库中的其他列?

时间:2019-02-06 06:57:50

标签: ajax codeigniter

这是我当前的输出-

enter image description here

我的Ajax代码就是这样-

enter image description here

没有错误。但它无法通过我的数据库

我的控制器

public function insertNewRole(){
    $basic_data = array();

    $basic_data = array(
        'accs_trans_sec' => $_POST['select_access1'],
        'accs_acctng_sec' => $_POST['select_access2'],
        'accs_admin_sec' => $_POST['select_access3'],
        'accs_dashboard_sec' => $_POST['select_access4'],
        'accs_reports_sec' => $_POST['select_access5']
    );
    $this->RoleModel->saveRole($basic_data);
}

1 个答案:

答案 0 :(得分:0)

我在这里看到了这个问题。 我看到datastring变量是一个字符串,每个值都由,分隔,您只用它在控制器上发布了吧? 因此它将是$_POST['data']在您的控制器上。

然后尝试在控制器上像这样使用explode()

$parseddata = explode(',',$_POST['data']);

让我们继续您的代码:

   public function insertNewRole(){

    $parseddata = explode(',',$_POST['data']);

     $basic_data = array();

    $basic_data = array(
        'accs_trans_sec' => $parseddata[0], //The value should be 1
        'accs_acctng_sec' => $parseddata[1],//The value should be 0
        'accs_admin_sec' => $parseddata[2], //The value should be 1
        'accs_dashboard_sec' => $parseddata[3], //The value should be 0
        'accs_reports_sec' => $parseddata[4] //The value should be 1
    );
    $result = $this->RoleModel->saveRole($basic_data);

     if($result == true){
          echo ("Successfully inserted!");
     }else{
           echo ("Problem!");
      }
}

让我们看看您是否可以解决这个问题。

  

编辑:根据您之前的帖子,您的模型上有一个循环,我对其进行了修改,并且应该这样:

public function saveRole($basic_data)
   {
    $this->db->insert('roles_global_access', $basic_data);

    return ($this->db->affected_rows() != 1) ? false : true;
   }