php - jQuery AJAX POST 到 mysql 表以获取动态表数据-我是否以正确的方式执行此操作?

标签 php mysql html jquery

我有一个表,我可以动态添加和删除任意数量的行。用户输入所有数据后,我将使用 jQuery AJAX 功能将其 POST 到 mysql 数据库,这样就不会出现页面重定向或刷新。

我能想到让它工作的唯一方法是在我的 jQuery 中使用这个 for 循环,有效地将每一行单独发布到数据库。这有多蠢?我应该获取所有表数据并发布一次吗?可以有任意数量的行,具体取决于用户,并且用户可以在提交之前根据需要添加和删除行。

奇怪的 i 变量计数是由于表顶部有两行。我想不出一个聪明的方法来做到这一点。

我对数据总是与正确的行相关联有点偏执。

谢谢您的宝贵时间。

jQuery(function() {  
  jQuery(".button1").click(function() {  
    // process form here
    var rowCount = jQuery('#dataTable tr').length;

    for (var i = 2; i < rowCount; i++){
    // the four elements of each row I am storing to the mysql
    var txtRow1 = jQuery('#txtRow' + (i-1)).val();
    var tickerRow1 = jQuery('#tickerRow' + (i-1)).val();
    var quantRow1 = jQuery('#quantRow' + (i-1)).val();
    var valueRow1 = jQuery('#valueRow' + (i-1)).val();

    var dataString = 'txtRow1='+ txtRow1 + '&tickerRow1=' + tickerRow1 + '&quantRow1=' + quantRow1 + '&valueRow1=' + valueRow1;  
    //alert (dataString);return false;  
    jQuery.ajax({  
    type: "POST",  
    url: "http://rccl.co.uk/form_action1.php",  
    data: dataString
    });  
    };
return false;  
});  
});  

最佳答案

对我来说,它看起来非常清楚,好像您使用变量 i 拥有相关行的完善索引。大多数表单处理程序服务器端会将表单的重复键解压缩到列表中,例如许多具有相同名称的复选框之类的内容。您可以在这里利用它。

datastring = '';
for(var i=2; i<rowCount; i++) {
    var txtRow1 = jQuery('#txtRow' + (i-1)).val();
    var tickerRow1 = jQuery('#tickerRow' + (i-1)).val();
    var quantRow1 = jQuery('#quantRow' + (i-1)).val();
    var valueRow1 = jQuery('#valueRow' + (i-1)).val();
    dataString = datastring + 'index[]=' + (i-1) + 'txtRow1[]='+ txtRow1 + '&tickerRow1[]=' + tickerRow1 + '&quantRow1[]=' + quantRow1 + '&valueRow1[]=' + valueRow1;
}

然后使用整个字符串进行 ajax 调用。

在服务器端,您应该获取每个数组的数组,每个数组的第一个对应于第一行,每个数组的第二个对应于第二行,依此类推。

我已经很久没有使用 PHP 了,但我相信每个关键项的 [] 符号对于提示 PHP 的 $_POST 应该将各种键的内容放入数组中。

关于php - jQuery AJAX POST 到 mysql 表以获取动态表数据-我是否以正确的方式执行此操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7287975/

相关文章:

php - 无法使用带有 mysql 和 php 7 的 docker-compose 连接到数据库

javascript - 自动登录网站,使用 ASP.NET

html - 将表行换行到下一行

php - 使用 php 检索 url 中的哈希值?

javascript - Angularjs 和 jquery 不能以我的常规简单形式工作

javascript - 从 2 个字段中获取值并在第三个字段中显示乘法

Mysql 复制 mysql(全部)数据库 - 奇怪的问题

mysql - 通过加入多个表来汇总小计和总计

css - 第一个 DIV 元素导致高度为 100% 的第二个 DIV 元素内的内容被推出屏幕

html - <img> <a href.....> img和a之间有很多空格