我不知道如何处理这种情况,我是菜鸟编码者,我的页面显示了所有可用的批次,您可以在其中从该批次中卸载特定物品。
这是打印出来的foreach:
$lotto
,$totalelotto
,$data
,并要求从$lotto
中卸载qtyvalue(输入也可以为NULL)
foreach ($dataslotto as $data) {
$totalelotto = totlotto($database, $data['lotto']);
$lotto = $data["lotto"];
$data = $data["data"];
echo "<tr>";
echo "<td>".$lotto."</td>";
echo "<input type=\"hidden\" value=\"".$lotto."\" name=\"array[]\" />";
echo "<td>".$totalelotto."</td>";
echo "<input type=\"hidden\" value=\"".$totalelotto."\" name=\"array[]\" />";
echo "<td>".$data."</td>";
echo "<input type=\"hidden\" value=\"".$data."\" name=\"array[]\" />";
echo "<td><input type=\"text\" class=\"form-control\" placeholder=\"Qta.\" required name=\"qtyvalue\"></td>";
echo "</tr>";
}
我不知道如何设置name=""
个输入字段(因为如果有很多批次,字段的数量可以更改),而且我不知道如何将$_POST
数据作为数组发送,然后进行foreach $lotto
,$totalelotto
,$data
,$qtyvalue
所在的一组$qtyvalue
进行另一个查询。
我没有用常规代码编写它,我知道它看起来很糟糕,但这只是为了给您一个想法。
$_POST[''formarray];
foreach ( /* values recieved in each <tr> inside formarray where $_POST['qtyvalue'] is not empty */ ){
#EXECUTE THIS
}
感谢帮助!
对不起,我的编码技能不好。
答案 0 :(得分:0)
$_POST
是一个关联/键值对,它的键是设置为输入名称的任何键。
因此,如果您想将用户输入username
发送到后端PHP脚本
您设置了值及其名称
<input type="text" name="username" value="User123">
然后检索您可以执行的用户名
print_r($_POST["username"]);
打印值。
因此,您问如何在$ _POST中循环遍历每个对象,这很简单,您可以在整个$ _POST数组中进行foreach循环。
foreach($_POST as $key => $value)
{
//check something has been entered for the current value we are iterating over
if($value != null)
{
print_r($key . " value is : " . $value);
}
}
这将遍历$ _POST数组中的每个项目,并且将键设置为DOM元素名称是什么。
别忘了$ _POST数组只是一个数组,你可以做
var_dump($_POST);
并查看POST请求中发送的所有内容。
答案 1 :(得分:0)
您可以使用array names for your inputs。假设您的表格行如下:
<tr>
<td><input ... name="lotto[]"></td>
<td><input ... name="totalelotto[]"></td>
<td><input ... name="data[]"></td>
<td><input ... name="qtyvalue[]"></td>
</tr>
然后,您将获得数组$_POST['lotto']
,$_POST['totalelotto']
等,每个数组具有相同数量的元素,并且具有相同索引的元素属于表的一行。然后,您可以像这样处理这些元素
foreach ($_POST['lotto'] as $i=>$lotto) {
if ($_POST['qtyvalue'][$i] > 0) {
...
}
}