【发布时间】:2019-11-29 11:34:25
【问题描述】:
我对此有疑问:
我的表格的一部分
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<input class="form-control" name="config_name[]" type="text" placeholder="Nom"/>
</div></div>
<div class="col-sm-6">
<div class="form-group">
<input class="form-control" name="config_pname[]" type="text" placeholder="Prénom"/>
</div></div></div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<input class="form-control" name="config_phone[]" type="text" placeholder="Numéro de mobile"/>
</div></div></div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<input class="form-control" name="config_mail[]" type="text" placeholder="Adresse Mail"/>
</div></div></div>
<?php
$glprt_type = "dx";
echo '<input type="checkbox" name="config_'.strtolower($glprt_type).'[][]" value="'.$glprt_type.' '.$glprt_subtype.' '.$glprt_name.'"><b style="font-size: 12px;"> '.$glprt_type.' '.$glprt_subtype.' - '.$glprt_name.'</b> <br>'; ?>
PHP 过程
for ($i = 0; $i < count($_POST['config_pname']); $i++) {
echo $_POST['config_type'][$i].'<br />';
echo date('Y-m-d').'<br />';
echo $_POST['config_pname'][$i].'<br />';
echo $_POST['config_name'][$i].'<br />';
for ($j = 0; $j < count($_POST['config_dx'][$i]); $j++) {
echo $_POST['config_dx'][$j][$i].'<br />';
}
}
关键是即使我有 3 个通过 POST 方法发送,我也只能得到第一个 $_POST['config_dx'] 记录。
我做错了什么?
1/ echo count($_POST['config_dx'][$i] 返回“1”
2/ 如果我在循环中替换
echo $_POST['config_dx'][$j][$i].'<br />';
由
echo $_POST['config_dx'][0][$i].'<br />';
echo $_POST['config_dx'][1][$i].'<br />';
echo $_POST['config_dx'][2][$i].'<br />';
我的 3 个结果出现了,所以循环似乎没有循环 :)
非常感谢
【问题讨论】:
-
您是否尝试过删除输入名称中的
[ ]之一? -
你为什么在字段名上使用**?
-
@UkraineInTheMembrane 我需要它,因为我可以为一个配置设置多个 config_dx。同样在我的情况下,我可以使用包装器创建多个配置表单
-
@Vidal 这只是一个错误 :)
标签: javascript php multidimensional-array append