我有一个包含超过10行的表格,每行有3或4个带有动态名称的隐藏输入。像id_01,id_02,id_03和name_01_,name_02,name_03 ......
在foreach循环中提交表单后,我正在将$ _POST恢复为数组。得到这个结果:
但我需要获得“分组”结果:
...
这是表单提交前的代码:
$i = 0;
foreach ($apiResponse['response']['data']['data'] as $data) {
echo "<tr>";
echo "<td align='center'>" . $data['Offer']['name'] . "</td>";
echo "<td align='center'>" . $data['Stat']['affiliate_id'] . "<input type='hidden' name='aff_id_" . $i++ . "' value='" . $data['Stat']['affiliate_id'] . "'></td>";
echo "<td align='center'>" . $data['Stat']['conversions'] . "</td>";
echo "<td align='center'>" . number_format(@($data['Stat']['payout']/$data['Stat']['conversions']),2,'.','.') . "<input type='hidden' value='" . number_format(@($data['Stat']['payout']/$data['Stat']['conversions']),2,'.','.') . "' name='payout_" . $i++ . "'></td>";
echo "<td align='center'>" . number_format(@($data['Stat']['revenue']/$data['Stat']['conversions']),2,'.','.') . "<input type='hidden' value='" . number_format(@($data['Stat']['revenue']/$data['Stat']['conversions']),2,'.','.') . "' name='revenue_" . $i++ . "'></td>";
echo "<td align='center'><input size='2 type='text' name='invalidar_" . $i++ . "'></tr>";
}
这就是我正在恢复的方式:
foreach($_POST as $key => $value) {
echo '<li>'. $key . ': '. $value . '</li>';
}
有人知道这是怎么做到的吗?
答案 0 :(得分:0)
不要输入'tel_03'这样的输入名称,而是输入名称'tel []'。这将产生一系列输入。现在$ _POST ['tel']将为您提供包含所有值的数组。并且在该循环内部传递其他变量的键,例如$ _POST ['id'] [$ key],这将为您提供与$ _POST ['tel'] [$ key]相关联的值。 Bcoz在您生成该表单时出现在同一行中。
答案 1 :(得分:0)
JavaWindow
替换上面的代码。
在您的接收文件中,只需打印$ _POST即可。您将获得分组数据。
答案 2 :(得分:0)
刚刚解决,而是使用foreach
我使用了for
。使用某些代码访问array
,然后voilà。
for ($i = 0, $size = count($apiResponse['response']['data']['data']); $i < $size; ++$i) {
echo "<tr>";
echo "<td align='center'>" . $apiResponse['response']['data']['data'][$i]['Offer']['name'] . "<input type='hidden' name='info[".$i."][offer_id]' value='" . $apiResponse['response']['data']['data'][$i]['Stat']['offer_id'] . "'></td>";
echo "<td align='center'>" . $apiResponse['response']['data']['data'][$i]['Stat']['affiliate_id'] . "<input type='hidden' name='info[".$i."][aff_id]' value='" . $apiResponse['response']['data']['data'][$i]['Stat']['affiliate_id'] . "'></td>";
echo "<td align='center'>" . $apiResponse['response']['data']['data'][$i]['Stat']['conversions'] . "</td>";
echo "<td align='center'>" . number_format(@($apiResponse['response']['data']['data'][$i]['Stat']['payout']/$apiResponse['response']['data']['data'][$i]['Stat']['conversions']),2,'.','.') . "<input type='hidden' value='" . number_format(@($apiResponse['response']['data']['data'][$i]['Stat']['payout']/$apiResponse['response']['data']['data'][$i]['Stat']['conversions']),2,'.','.') . "' name='info[".$i."][payout]'></td>";
echo "<td align='center'>" . number_format(@($apiResponse['response']['data']['data'][$i]['Stat']['revenue']/$apiResponse['response']['data']['data'][$i]['Stat']['conversions']),2,'.','.') . "<input type='hidden' value='" . number_format(@($apiResponse['response']['data']['data'][$i]['Stat']['revenue']/$apiResponse['response']['data']['data'][$i]['Stat']['conversions']),2,'.','.') . "' name='info[".$i."][revenue]'></td>";
echo "<td align='center'><input size='2 type='text' name='info[".$i."][invalidar]'></tr>";
}
结果是:
<tr role="row" class="odd"><td align="center" class="sorting_1">Aasha - IN<input type="hidden" name="info[627][offer_id]" value="1048"></td><td align="center">1448<input type="hidden" name="info[627][aff_id]" value="1448"></td><td align="center">0</td><td align="center">0.00<input type="hidden" value="0.00" name="info[627][payout]"></td><td align="center">0.00<input type="hidden" value="0.00" name="info[627][revenue]"></td><td align="center"><input size="2 type=" text'="" name="info[627][invalidar]"></td></tr>
提交后我使用foreach
恢复:
$i = 0;
foreach($_POST['info'] as $key => $array) {
echo $i++;
echo '<br>';
echo 'Offer ID:';
echo $array['offer_id'];
echo '<br>';
echo 'Affiliate ID:';
echo $array['aff_id'];
echo '<br>';
echo 'Revenue:';
echo $array['revenue'];
echo '<br>';
echo 'Payout:';
echo $array['payout'];
echo '<br>';
echo 'Invalidar:';
echo $array['invalidar'];
echo '<br><br>';
sleep(2);
}
最后我的结果分组:
0
Offer ID:1048
Affiliate ID:1448
Revenue:0.00
Payout:0.00
Invalidar:
1
Offer ID:1048
Affiliate ID:1505
Revenue:1.44
Payout:0.72
Invalidar:
2
Offer ID:1048
Affiliate ID:1501
Revenue:1.44
Payout:0.72
Invalidar:
3
Offer ID:1048
Affiliate ID:1565
Revenue:1.44
Payout:1.12
Invalidar:
4
Offer ID:577
Affiliate ID:1026
Revenue:0.00
Payout:0.00
Invalidar:
5
Offer ID:1050
Affiliate ID:1565
Revenue:0.00
Payout:0.00
Invalidar:
6
Offer ID:1050
Affiliate ID:1501
Revenue:0.00
Payout:0.00
Invalidar:
7
Offer ID:1050
Affiliate ID:1505
Revenue:0.00
Payout:0.00
Invalidar:
8
Offer ID:1317
Affiliate ID:2
Revenue:0.00
Payout:0.00
Invalidar:
9
Offer ID:1317
Affiliate ID:1352
Revenue:10.84
Payout:7.22
Invalidar:
感谢大家帮助我。 (: