Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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 多个同名文本输入-添加到数据库_Php_Arrays_Post_Input_Foreach - Fatal编程技术网

Php 多个同名文本输入-添加到数据库

Php 多个同名文本输入-添加到数据库,php,arrays,post,input,foreach,Php,Arrays,Post,Input,Foreach,我有一个有几个字段的表单,所有字段都可以相乘 <input type="text" name="child_name[]" /> <input type="text" name="child_age[]" /> <input type="text" name="child_gender[]" /> <input type="text" name="child_school[]" /> 当我打印出数据时,它将所有字段显示为数组,所以我肯定是

我有一个有几个字段的表单,所有字段都可以相乘

<input type="text" name="child_name[]" />
<input type="text" name="child_age[]" />
<input type="text" name="child_gender[]" />    
<input type="text" name="child_school[]" />
当我打印出数据时,它将所有字段显示为数组,所以我肯定是对foreach语句做了一些错误,但我不知道是什么

Array ( [child_name] => Array ( [0] => child one [1] => child two) [child_age] => Array ( [0] => 14 [1] => 13 ) [child_gender] => Array ( [0] => male [1] => female ) [child_school] => Array ( [0] => burnside [1] => summer heights high ) )
任何帮助都将不胜感激#

更新

这是我的foreach的代码

foreach ($_POST['child_name'] as $child_name)
    {
        $insert_children_data = array(
            'child_name' => $_POST['child_name'],
            'child_age' => $_POST['child_age'],
            'child_gender' => $_POST['child_gender'],
            'child_school' => $_POST['child_school']
        );
        $insert = $this->db->insert('portrait_children', $insert_children_data);
        return $insert;
    }
试试这个(假设您的表单为每个child\u name、child\u age等获得相同数量的元素):

对于($ix=0;$ix$\u POST['child\u name'][$ix],
'child_age'=>$\u POST['child_age'][$ix],
“儿童性别”=>$\u POST['child\u gender'][$ix],
“儿童学校”=>$\u POST['child\u school'][$ix]
);
$insert=$this->db->insert('纵向儿童',$insert儿童数据);
//返回$insert//你不能回到这里。必须让循环完成。
}

如果要将数组分配给键,这是不可行的,请尝试循环所有元素

foreach ($_POST as $key)<br>
{<br>
    foreach($key as $v=>$v1)<br>
    {<br>
        $s[$v] = $v1;<br>
    }<br>

}<br>
print_r($s);
foreach($\u发布为$key)
{
foreach($v=>v1的键)
{
$s[$v]=$v1;
}
}
印刷品(港币);;
制作一个数组。数组包含特定子类的所有数据

Array (
[0] => Array (
  [name] => child1 
  [age] => 5 
  [gender] => male
  [school] => 1school )
[1] => Array (
  [name] => child2 
  [age] => 10 
  [gender] => male
  [school] => school2 )
请尝试下面的代码

$i =0;  

foreach($_REQUEST['child_name'] as $child)

{

$child1[$i]['name'] = $child;

$i++;

}

$i =0;  

foreach($_REQUEST['child_age'] as $child)

{

$child1[$i]['age'] = $child;

$i++;

}

$i =0;  

foreach($_REQUEST['child_gender'] as $child)

{

$child1[$i]['gender'] = $child;

$i++;

}

$i =0;  

foreach($_REQUEST['child_school'] as $child)

{

$child1[$i]['school'] = $child;

$i++;

} 
$insert = $this->db->insert('portrait_children', $child1);
    return $insert;

请显示您的查询。您在
foreach
中有什么代码?您必须使用两个
foreach
,一个用于
$\u POST
字段,第二个用于
key
中的字段。我在$ix=0处收到语法错误“语法错误,意外“;”;有什么想法吗?你试过最新版本了吗。请参阅上面的更新版本。我留下了一个小的打字错误,现在就把它修好了。是的,它很有效!非常感谢:)当我获得足够高的声誉时,我会投票支持你:)
Array (
[0] => Array (
  [name] => child1 
  [age] => 5 
  [gender] => male
  [school] => 1school )
[1] => Array (
  [name] => child2 
  [age] => 10 
  [gender] => male
  [school] => school2 )
$i =0;  

foreach($_REQUEST['child_name'] as $child)

{

$child1[$i]['name'] = $child;

$i++;

}

$i =0;  

foreach($_REQUEST['child_age'] as $child)

{

$child1[$i]['age'] = $child;

$i++;

}

$i =0;  

foreach($_REQUEST['child_gender'] as $child)

{

$child1[$i]['gender'] = $child;

$i++;

}

$i =0;  

foreach($_REQUEST['child_school'] as $child)

{

$child1[$i]['school'] = $child;

$i++;

} 
$insert = $this->db->insert('portrait_children', $child1);
    return $insert;