php - 如何使用ajax php将表格内容保存在数据库中

标签 php jquery html mysql ajax

我有一个为表格生成内容的 jquery 脚本,我想知道如何使用 ajax 和 php 将表格中所有添加的行一次保存到数据库中。

顺便说一句,我正在使用数据表。

示例表:http://i38.photobucket.com/albums/e149/eloginko/table_zps20bbecb1.png

我的表是这样的:http://jsfiddle.net/4GP2h/104/

我的脚本:

$("#dialog-confirm").dialog({
    resizable: false,
    height: 140,
    modal: true,
    autoOpen: false,
    buttons: {
        "Close": function () {
            $(this).dialog("close");
        }
    }
});
var dataSet;
try{
    dataSet = JSON.parse(localStorage.getItem('dataSet')) || [];
} catch (err) {
    dataSet = [];
}
$('#myTable').dataTable({
    "data": [],
        "columns": [{
        "title": "Name"
    }, {
        "title": "Age"
    }, {
        "title": "Gender"
    }, {
        "title": "Action"
    }],
        "bStateSave": true,
        "stateSave": true,
        "bPaginate": false,
        "bLengthChange": false,
        "bFilter": false,
        "bInfo": false,
        "bAutoWidth": false
});
oTable = $('#myTable').DataTable();
for (var i = 0; i < dataSet.length; i++) {
    oTable.row.add(dataSet[i]).draw();
}

$('#Save').click(function () {
    if ($('#name').val() == '' || $('#age').val() == '' || $("input[name='gender']:checked").val() == undefined) {
        $("#dialog-confirm").dialog("open");

    } else {

        var data = [
            $('#name').val(),
            $('#age').val(),
            $("[name='gender']:checked").val(),
            "<button class='delete'>Delete</button>"
        ];
        oTable.row.add(data).draw();
        dataSet.push(data);
        localStorage.setItem('dataSet', JSON.stringify(dataSet));      
    }
});

$(document).on('click', '.delete', function () {
    var row = $(this).closest('tr');
    oTable.row(row).remove().draw();
    var rowElements = row.find("td");
    for (var i = 0; i < dataSet.length; i++) {
        var equals = true;
        for (var j = 0; j < 3; j++) {
            if (dataSet[i][j] != rowElements[j].innerHTML) {
                equals = false;
                break;
            }
        }
        if (equals) {
            dataSet.splice(i, 1);
            break;
        }
    }
    localStorage.setItem('dataSet', JSON.stringify(dataSet));
});

最佳答案

将表单标签添加到您的代码中:

<form id='myform'>
    <div id="dialog-confirm" title="Error">
        <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 0px 0;"></span>Please fill all the required fields!</p>
    </div>

    <br />
    <br />Name:
    <input type="text" name="name" id="name" />
    <br />Age:
    <input type="text" name="age" id="age" />
    <br />Gender:
    <input type="radio" name="gender" value="Male" />Male
    <br />
    <input type="radio" name="gender" value="Female" />Female
    <br />
    <button id="Save" name="Save">Save</button>
    <div class="container well">
        <table id="myTable" class="table table-striped table-bordered" cellspacing="0" width="100%">
            <tr>
                <td>
                    Line 1 Edit
                </td>
                <td>
                    <input type='text' name='line1' />
                </td>
            </tr>
            <tr>
                <td>
                    Line 2 Edit
                </td>
                <td>
                    <input type='text' name='line2' />
                </td>
            </tr>
        </table>
    </div>
</form>

然后你可以使用jquery将它发送到你的服务器 var formdata = $("#myform").serialize()

formdata 会将表单中的数据放入变量中,以供 post 或 get 请求使用。 然后使用 $.post("myurl?"+ formdata, function(response_from_server){alert(response_from_server);})

关于php - 如何使用ajax php将表格内容保存在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24852077/

相关文章:

php - Laravel在同一模型上的父/子关系

php - 插入查询不工作超过 20 次

javascript - 为什么总是只附加到最后一个元素?

jquery - 当宽度大于时隐藏/显示 div 时遇到问题

javascript - 三星智能电视 SDK 5.1 应用程序开发

php - 单例继承

php - php 中的标志如何确定正在访问或调用 CSS/JS?

jquery - 如何自定义布局 h :selectOneRadio

类的 Javascript 索引

javascript - HTML.BeginForm MVC 4 的重定向问题