将HTML表格行提交给php

时间:2012-08-10 23:30:49

标签: php javascript jquery mysql ajax

我需要帮助弄清楚如何将表格行中的数据提交到PHP中进行处理。我需要它能够提交多行数据。有什么想法吗?

我有一张桌子here。我希望能够检查行并将数据提交给php来处理数据。这是一个HTML表格。我只是想知道如何将变量传递给php,例如数组或其他东西

好的家伙是这样的:

$("submit_btn").click(function () {

       $('#diary tbody>tr input:checked').each(function() {
           $.post('process.php', 
                data: "an array",
                success: "data submitted");
       }

});

如何获取数组中的表行数据以提交它? (答案如下)

好的第2部分:

将表行数据发送到php。

jQuery代码:

    rows = JSON.stringify(rows); // submit this using $.post(...)
    alert(rows);
    $.post('classes/process.php', rows, function(data) {
      $('#results').html(data);
    })
        .error(function() { alert("error"); })
    });

PHP代码:

<?php

$rowsArray = json_decode($_POST['rows']);

echo $rowsArray;
?>

错误:

Notice: Undefined index: rows in C:\...\classes\process.php on line 6

2 个答案:

答案 0 :(得分:2)

$('#submit_btn').click(function(){
    var rows = [];
    $('#box-table-a tbody tr input[type=checkbox]:checked').each(function(i,v){
        var tds = $(v).parents('tr').children('td');
        rows.push({
            'name': tds.eq(1).find('select').val(),
            'units': tds.eq(2).text(),
            'calories': tds.eq(3).text(),
            'sugar': tds.eq(4).text()
        });
    });
    rows = JSON.stringify(rows); // submit this using $.post(...)
    $.post('classes/process.php', {'rows': rows}, function(data){
        console.log(data);
    });
});

使用$ .post()提交rows然后,在服务器端,您可以使用json_decode()转换回数组;

示例输出:

[{ “名称”: “水”, “单元”: “1”, “热量”: “2”, “糖”: “3”},{ “名称”: “食品”, “单元” : “4”, “热量”: “5”, “糖”: “6”}]

<强>演示:
http://jsfiddle.net/cp6ne/84/

答案 1 :(得分:-1)

您可以使用jQuery库向PHP脚本发出AJAX请求,然后“处理”表中的数据。

您还可以使用jQuery .each()函数在多行上执行此操作。