我正在通过API提交附加的输入。每次的项目数量都不相同。当我提交表单时,输入已成功提交并返回了一个对象,但仅提交了最后附加的输入。如何在显示的数组内运行循环,或者在这里运行哪种循环语法,以便为每个附加输入提交新项?谢谢您的考虑。
<script>
$(document).ready(function(){
$("#new").click(function(){
$("table").append("<tr><td><input type= 'text' name = 'item[]'</td> </tr>");
});
});
</script>
<?php
在带有输入名称=“ item []”我的PHP的表单/表格之后:
if (isset($_POST['submit']))
{
$size = sizeof($_POST['item']);
for ($i = 0; $i < $size; $i++)
{
$product = $_POST['item'][$i];
}
$fields = array(
'customer' => 992058,
'items' => [
[
'name' => $product,
]
]
);
// HERE IS A CURL CALL that POSTS $fields AND RETURNS JSON
?>
我想返回的JSON可能类似于
"items":[{"name":"product1"}][{"name":"product2"}];
而不是我得到的是什么
"items":[{"name":"product2"}]
答案 0 :(得分:1)
这是您需要的:
if (isset($_POST['submit']))
{
$size = sizeof($_POST['item']);
$products = [];
for ($i = 1; $i < $size; $i++)
{
$products[]['name'] = $_POST['item'][$i];
}
$fields = array(
'customer' => 992058,
'items' => $products
);
代码{var} $product
在循环中仅获得最后一个插入的问题,您需要在循环内创建一个数组。