如何使用javascript或jquery post方法从循环发送变量,并使用php接收

如何使用javascript或jquery post方法从循环发送变量,并使用php接收,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我希望显示所有表值,然后使用javascript post menthod在另一个php页面上发送和接收它们,但我的代码似乎只能将表列表中的一项发送到另一个php页面 <form class="commerce" id='commence'> <input type='text' id='shop' value='' class='form-wrapper'> <?php $check = "SELECT * FROM tbl_produc

我希望显示所有表值,然后使用javascript post menthod在另一个php页面上发送和接收它们,但我的代码似乎只能将表列表中的一项发送到另一个php页面

<form  class="commerce" id='commence'>
    <input type='text' id='shop' value='' class='form-wrapper'>
    <?php
    $check = "SELECT * FROM tbl_products ";
    $checks = mysqli_query($db, $check);
    while ($found = mysqli_fetch_array($checks)) {

        $id = $found['id'];
        $amount = $found['amount'];
        $price = $found['price'];
        echo"<input type='text' id='product' value='$id' class='form-wrapper'>
            <input type='text' id='stock' value='$amount' class='form-wrapper'>
            <input type='text' id='price' value='$price' class='form-wrapper'>";
    }
    ?>
    <button type='button' class='prisoner_entry '  >SAVE</button>
</form>

您正在使用相同的
id创建多个元素。每个
id
每页都应该是唯一的。您应该将它们更改为
class
,并以这种方式检索i

PHP

echo”
...
JS

const form=document.querySelector(“#开始”);
const products=form.querySelectorAll(“.product”);
const stock=form.queryselectoral('.stock');
const prices=form.queryselectoral(“.price”);
常量shopItems=[];
for(设i=0;i
我通常通过将变量添加到ajax请求的数据中来实现这一点,如下所示:

data: $(this).serialize() + '&action=query',
$(this).serialize()
是来自web表单的数据

&
是如何区分所传递的变量的

第一部分
action=
是我将用于从PHP中的GET/POST变量检索数据的名称

最后,
查询
是我传递的数据

因此,在您的情况下,您可以执行以下操作:

data:someData+'&fname='+fname
…依此类推


要记住的最重要的一点是,如果没有名称,您将无法访问PHP中GET/POST变量中的对象。

仍然从列表中发送一个项目,我想要实现的是将循环显示的列表项目中的所有项目与商店一起发送name@Pamzey上述代码将对每个项目进行一次调用。我不确定你的端点需要什么格式。如果你需要对它们进行分组,你应该能够修改外观,将所有数据推送到一个对象中,然后发送。你的代码帮助我完成了工作,尽管我在研究后不得不做一些更改,但重要的是实现了目标,非常感谢你我认为什么你的代码和我在这行的代码一样数据:{fullname:fname,productname:product,stocknumber:stock,itemprice:price}我可以发送到另一个页面唯一的问题是,它只有一个项目是从循环中显示的多个项目,请向我显示PHP关于如何访问数据的信息”我的代码只能将表列表中的一个项目发送到另一个php页面”-问题中是否包含(php)代码?@FunkFortyNiner是的您告诉我,您要将这些内容发送到的文件是
url:“data.php”中声明的文件“,
和上面的表单,输入在
循环时被回送?是@FunkFortyNiner我想问题是因为循环中的项目没有唯一的id,所以我需要将它们作为数组发送,所以我不知道如何做,为什么要使用
mysqli\u real\u escape\u string
<?php
if(isset($_POST['fullname'])){

              $fullname = mysqli_real_escape_string($db,$_POST["fullname"]);      
              $productname = mysqli_real_escape_string($db,$_POST["productname"]);  
              $stocknumber =mysqli_real_escape_string($db,$_POST["stocknumber"]);       
              $itemprice =mysqli_real_escape_string($db,$_POST["itemprice"]);      
              $rphone = mysqli_real_escape_string($db,$_POST["rephone"]);     
                }   
?>
echo "<input type='text' class='product form-wrapper' value='$id' />
...
const form = document.querySelector('#commence');
const products = form.querySelectorAll('.product');
const stocks = form.querySelectorAll('.stock');
const prices = form.querySelectorAll('.price');
const shopItems = [];
for (let i = 0; i < products.length; i++) {
  $.ajax({
    type : 'POST',
    url : "data.php",
    data : {
      productName: products[i].value,
      stockNumber: stocks[i].value,
      itemPrice: price[i].value
    },
  });
}
data: $(this).serialize() + '&action=query',