Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将输入字段作为arry插入,并将其值插入表_Php_Codeigniter - Fatal编程技术网

Php 将输入字段作为arry插入,并将其值插入表

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=$

我有一个简单的问题,这给我带来了麻烦。。 我需要插入包含2个输入字段的表单

<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);
}