如何使用带有codeigniter的Select2插件将多个数据插入我的数据库



我正在使用codeigniter创建一个php系统,我想使用多选和select2插件在一个表中注册几个数据。问题是,在我选择的数据中,只有最后一个选择的数据是在我的数据库中注册的数据。我该如何解决?

这就是表单。

$('.select2').select2({
tokenSeparators: [','],
tags: true,
multiple: true,
maximumSelectionLength: 20,
placeholder: "Select maximum 20 items"
});
<div class="form-group">
<label class="form-label" for="multiple-basic">
grupos
</label>
<select class="select2 form-control" name="grupos[]"  multiple="multiple" id="multiple-basic">
<optgroup label="GRUPOS REGISTRADOS">              
<?php foreach ($group_data as $k => $v): ?>
<option value="<?php echo $v['id_grupo'] ?>"><?php echo  strtoupper($v['nombre_grupo']) ?></option>
<?php endforeach ?>
</optgroup>
</select>
</div>

我的控制器

	<?php
public function createSingle(){
		$response= array('success' => false, 'messages' => array());		
			$oidVal = implode(",", $this->input->post('grupos'));
		    $data = array(
		        'id_usuario'=> $this->session->userdata('id_usuario'),
		        'id_grupo'=> $oidVal);
		    $create = $this->model_users->createSingle($data);
if($create== true) {
		$response['success'] = true;
		$response['messages'] = 'DATOS REGISTRADOS:';
	}else {
		$response['success'] = false;
		$response['messages'] = 'ERROR AL REGISTRAR LOS DATOS';
	}
	 echo json_encode($response);
	}
?>

我的模型

<?php
	public function createSingle($data='')
	{
		
		if($data) {
			$create = $this->db->insert('registro_grupos_usuarios', $data);
			//$user_id = $this->db->insert_id();
			return ($create == true) ? true : false;
		}
	}
?>

select with'multiple'在提交时(或使用element.value时(仅为命名输入返回一个值。

由于您已经在使用jquery,因此可以使用$(element).val()来获取完整列表。(或者在所有选项的香草循环中,element.selected为true(

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
<select id="dropdown" multiple>
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
<option value="four">four</option>
<option value="five">five</option>
</select>
</body>
<script>
document.getElementById('dropdown').addEventListener('change', function(event) {
// eg I have selected 'two' and 'three'
console.log(event.target.value); // two
console.log($(event.target).val()); // Array [ "two", "three" ]
})
</script>
</html>

相关内容

  • 没有找到相关文章

最新更新