实时添加,编辑表中的行与PHP无法正常工作

时间:2015-04-18 07:00:18

标签: php ajax datatable

我想在表格中创建实时添加和编辑行。当我单击保存按钮时,文本框中的数据将必须存储在数据库中。我的代码如下:

function saveRow(oTable, nRow) {
    var x='<input type="text" class="form-control input-small" value="' + aData[0] + '">';
    var y='<input type="text" class="form-control input-small" value="' + aData[1] + '">';
    var a='<input type="text" class="form-control input-small" value="' + aData[2] + '">';
    var b='<input type="text" class="form-control input-small" value="' + aData[3] + '">';

    $.ajax({
        type: "POST",
        url: "add.php?type=add",
        data:{x:x,y:y,a:a,b:b},
        cache: false,
        success: function(html) {
            alert(html);
        }
    });  
}

add.php

if($_GET['type']=="add"){
    $fval=array();
    $fval[0]=$_POST['x'];
    $fval[1]=$_POST['y'];
    $fval[2]=$_POST['a'];   
    $fval[3]=$_POST['b'];       

    $db->connect();
    $rdata=$db->insert('new',$fval,'username,fullname,points,notes');
}

但是这段代码不起作用。任何人都说,我的代码出了什么问题?

1 个答案:

答案 0 :(得分:1)

更改您的javascript函数,如下所示:

function saveRow(oTable, nRow) {
    var x='<input type="text" class="form-control input-small" value="' + aData[0] + '">';
    var y='<input type="text" class="form-control input-small" value="' + aData[1] + '">';
    var a='<input type="text" class="form-control input-small" value="' + aData[2] + '">';
    var b='<input type="text" class="form-control input-small" value="' + aData[3] + '">';

    $.ajax({
        type: "POST",
        url: "add.php",
        data:{
            x:x,
            y:y,
            a:a,
            b:b,
            type:'add',
        },
        cache: false,
        success: function(html) {
            alert(html);
        }
    });  
}

和php代码如下:

if($_POST['type']=="add"){
    $fval=array();
    $fval[0]=$_POST['x'];
    $fval[1]=$_POST['y'];
    $fval[2]=$_POST['a'];   
    $fval[3]=$_POST['b'];       

    $db->connect();
    $rdata=$db->insert('new',$fval,'username,fullname,points,notes');
}