Php 将输入字段作为arry插入,并将其值插入表
我有一个简单的问题,这给我带来了麻烦。。 我需要插入包含2个输入字段的表单Php 将输入字段作为arry插入,并将其值插入表,php,codeigniter,Php,Codeigniter,我有一个简单的问题,这给我带来了麻烦。。 我需要插入包含2个输入字段的表单 <input type="text" name="slottiming[]" value="" ></input> <input type="text" name="slottname[]" value=""></input> 这是我的控制器:: $slotname=$this->input->post('slotname'); $slot=$
<input type="text" name="slottiming[]" value="" ></input>
<input type="text" name="slottname[]" value=""></input>
这是我的控制器::
$slotname=$this->input->post('slotname');
$slot=$this->input->post('slot');
print_r($slotname);
foreach($slotname as $key =>$slot)
{
$form_data=array(
'slottime'=>$slotname,
'seat' =>$key,
'assocviva' => 'Cycle1'
);
$this->load->model('modelquery');
$this->modelquery->common_add($table_name,$form_data);
}
如何将正确的查询写入
插入到常用添加方法中作为$form\u data
参数与字段对齐您在寻找以下答案吗
函数common\u add($table\u name,$form\u data)
{
$this->db->insert($table\u name,$form\u data);
查看在中插入文档的数据库
如果我理解正确,希望这会有所帮助,$slotname是您要存储的数组吗
一个快速修复方法是在将数组插入数据库之前序列化数组,并在从数据库检索数组时取消序列化
$form_data=array(
'slottime' => serialize($slotname),
'seat' => $key,
'assocviva' => 'Cycle1'
);
然后当你从数据库里得到它的时候
$slotname = unserialize($row->slotname);
我不会在这里使用foreach。因为它们是成对的,所以应该使用for循环来对相同的结果进行sincronize
$this->load->model('modelquery');
$slotname = $this->input->post('slotname');
$slot = $this->input->post('slot');
for ($i=0; $i < count($slotname); $i++){
$form_data = array(
'slottime' => $slotname[$i],
'seat' => $slot[$i],
'assocviva'=> 'Cycle1'
);
$this->modelquery->common_add($table_name, $form_data);
}
$this->load->model('modelquery');
$slotname=$this->input->post('slotname');
$slot=$this->input->post('slot');
对于($i=0;$i$slotname[$i],
“座位”=>$slot[$i],
“assocviva”=>“Cycle1”
);
$this->modelquery->common\u add($table\u name,$form\u data);
}
永远不要在循环中放置模型加载行。首先感谢您的提示,但我需要添加而不序列化。因此,如果需要,可以从后端进行更改。然后我建议将数组中的项存储在一个单独的表中,并使用一个字段来引用它们属于主表中的哪个条目。或者在主表中设置所有48个字段。是的,但我想对您的代码稍加修改。”slottime'=>$slotname[$i],'seat'=>$slot[$i],
$this->load->model('modelquery');
$slotname = $this->input->post('slotname');
$slot = $this->input->post('slot');
for ($i=0; $i < count($slotname); $i++){
$form_data = array(
'slottime' => $slotname[$i],
'seat' => $slot[$i],
'assocviva'=> 'Cycle1'
);
$this->modelquery->common_add($table_name, $form_data);
}