如何使用Ajax更新MySQL表并在不重新加载页面的情况下获取新内容

时间:2016-06-02 21:37:11

标签: php mysql ajax

我真的需要帮助。我正在为我工​​作的公司创建一个工作系统,我们在网站上为各种客户创造就业机会。有公司,每个公司都有商店位置和用户,公司下的每个工作都与活动周和商店位置相关联。因此,创建工作意味着需要选择公司,选择要为其创建此工作的公司下的商店(商店),选择该公司的用户,选择一个活动周,输入该工作的其他信息然后单击“创建作业”。

首先,在进入工作页面创建新工作之前,我们将转到公司页面并添加新公司,而不是商店的页面,用户等。现在,我正在创建一个表单向导,以便在一个页面上执行所有操作。

目前,我创建了表单向导系统,允许我们选择或创建内容,但每次我们创建新公司,商店,用户或广告系列时,页面都必须重新加载,表单向导从第一步开始。如果我们使用Ajax创建新东西,它会在不重新加载页面的情况下提交内容。但是,我们希望立即在下拉选择字段中显示新内容,而无需重新加载页面。

以下是我用来提交新公司,商店等的Ajax示例

    // Create a new Company 
 $(function(){
    $('#addCompany').submit(function(e){
        e.preventDefault();
        var form = $(this);
        var post_url = form.attr('action');
        var post_data = form.serialize();
        $.ajax({
            type: 'POST',
            url: post_url, 
            data: post_data,
            success: function() {
                $("#newCompany").modal('hide');
                $('#mesg').append('<div class="alert alert-success" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button><strong>Nice!</strong> Company was added successfully!</div>');
              }
            });
        });
    });

以下是我用来获取下拉列表的Ajax示例。

 // General List for Company and Stores
function Company() {
    $('#Company').empty();
    $('#Company').append("<option value=''>- Select Company -</option>");
    $.ajax({
        type:"GET",
        url:"Inc/json/companies.php",
        contentType:"application/json; charset=utf-8",
        dataType:"json",
        success: function(data) {
            $('#Company').empty();
            $('#Company').append("<option value=''>- Select Company -</option>");
            $.each(data,function (index, item) {
                $('#Company').append('<option value="'+ item.Company_ID +'">'+ item.Company_Name +'</option>');
            });
        },complete: function() {}
    });
}

工作正常,数据正在提交。我只是想知道如何立即将新数据提取到下拉字段。我也使用Ajax和php / json从数据库中获取数据。

1 个答案:

答案 0 :(得分:0)

无论如何尝试从数据库中获取下拉元素,它都必须等待将这些元素添加到数据库中。一旦添加它们,你应该能够创建一个php函数来获取下拉菜单的元素,这个php函数应该可以从ajax请求中调用。或者另一种可能性是在将元素添加到数据库之前调用数据库,然后使用php将其添加到数据库返回的元素数组中。只需将元素作为get或post变量发送到php函数或处理将其添加到javascript中数组中的元素