问题描述
我的codeigniter视图中有一个简单的脚本,当我点击一个按钮时,添加一个,带有一个2文本字段和一个多下拉选择
<input type="text" id="name" name="name[]">
<input type="text" id="surname" name="surname[]">
<select name="food[]" multiple>
<option value="1">Breakfast</option>
<option value="2">Lunch</option>
<option value="3">Dinner</option>
<option value="4">Snacks</option>
<option value="5">Dessert</option>
</select>
现在,当我将所有变量从视图发布到文本字段的控制器时,我没有问题
[name] => Array
(
[0] => name1
[1] => name2
)
[surname] => Array
(
[0] => surname1
[1] => surname2
)
[food] => Array
(
[0] => Lunch
[1] => Dinner
[2] => Dessert
[3] => Dinner
[4] => Lunch
)
我对多选(食物)有问题,因为我不知道数组的索引
我知道在索引 [0] 处有第一行的 name1 和 surname1 但多选了 select 什么是正确的索引? 任何人都可以帮助我吗?有没有办法储存食物的正确价值?例子
name1 surname1 午餐、晚餐、甜点
name2 surname2 晚餐、午餐
对不起英语
解决方法
尝试循环您的食物清单。
我的控制器:
public function create()
{
$food_list = $this->input->post('food');
foreach($food_list as $food) {
$data= array(
'name' => $this->input->post('name'),'surname' => $this->input->post('surname'),'food' => $food
);
$this->db->insert('table_name',$data);
}
}
,
当前:-
<input type="text" id="name" name="name[]">
<input type="text" id="surname" name="surname[]">
<select name="food[]" multiple>
<option value="1">Breakfast</option>
<option value="2">Lunch</option>
<option value="3">Dinner</option>
<option value="4">Snacks</option>
<option value="5">Dessert</option>
</select>
尝试对输入名称进行分组以获得所需的输出:-
<input type="text" id="name" name="name[1][]">
<input type="text" id="surname" name="surname[1][]">
<select name="food[1][]" multiple>
<option value="1">Breakfast</option>
<option value="2">Lunch</option>
<option value="3">Dinner</option>
<option value="4">Snacks</option>
<option value="5">Dessert</option>
</select>
参考 this 它可能会帮助您对输入值进行分组