Я просто вижу проблему здесь.Я вижу, что переменная 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;
}