应该是这样
ID | access1 | access2 | access3 |
和值:
1 | 1 | 0 | 1
// myController
$basic_data = array();
$select_access1 = $_POST("select_access1");
$select_access2 = $_POST("select_access2");
$select_access3 = $_POST("select_access3");
$select_access4 = $_POST("select_access4");
$select_access5 = $_POST("select_access5");
$basic_data[] = array('accs_trans_sec'=>$select_access1,'accs_acctng_sec'=>$select_access2, 'accs_admin_sec'=>$select_access3,'accs_dashboard_sec'=> $select_access4, 'accs_reports_sec'=>$select_access5);
$this->RoleModel->saveRole($basic_data);
// myModel
public function saveRole($basic_data)
{
foreach($basic_data as $value) {
$this->db->insert('roles_global_access', $basic_data);
}}
答案 0 :(得分:0)
您可以将数据设置为数组,如下所示:
for(i = 1; i <= amount; i++){
答案 1 :(得分:0)
让我们假设您基于$_POST
变量来获取复选框的值。
由于您已将$basic_data
声明为 array(),因此无需将其强制转换为 $ basic_data [] 。
因此,在您的控制器上应该是这样的:
$basic_data = array(
'accs_trans_sec'=>$select_access1,
'accs_acctng_sec'=>$select_access2,
'accs_admin_sec'=>$select_access3,
'accs_dashboard_sec'=> $select_access4,
'accs_reports_sec'=>$select_access5
);
您的模型不需要使用循环,因为您要插入Object data
,因此它应如下所示:
public function saveRole($basic_data)
{
$this->db->insert('roles_global_access', $basic_data);
return ($this->db->affected_rows() != 1) ? false : true;
}
因此,基本上,如果模型返回 true ,则它成功插入了数据。
要检查是否成功插入数据:
$result = $this->RoleModel->saveRole($basic_data);
if($result == true){
echo ("Successfully inserted!");
}else{
echo ("Problem!");
}
答案 2 :(得分:0)
首先,您没有以正确的方式获取发布数据。对于$_POST
,必须使用方括号[]
。
第二,不要在模型中使用foreach
循环
像这样在控制器中获取数据
$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);
模型
public function saveRole($basic_data){
return $this->db->insert('roles_global_access', $basic_data);
}
答案 3 :(得分:0)
您应该尝试这个。
控制器:
$this->RoleModel->saveRole($_POST);
型号:
public function saveRole($basic_data){
extract($basic_data);
$dataset = array(
'accs_trans_sec' => $basic_data['select_access1'],
'accs_acctng_sec' => $basic_data['select_access2'],
'accs_admin_sec' => $basic_data['select_access3'],
'accs_dashboard_sec' => $basic_data['select_access4'],
'accs_reports_sec' => $basic_data['select_access5']
);
$this->db->insert('roles_global_access', $dataset);
}