这是我当前的输出-
我的Ajax代码就是这样-
没有错误。但它无法通过我的数据库
我的控制器
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);
}
答案 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;
}