【问题标题】:live add,edit rows in table with php not works实时添加,用php编辑表中的行不起作用
【发布时间】:2015-04-18 07:00:18
【问题描述】:

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

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);
        }
    });  
}

添加.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');
}

但是这段代码不起作用。谁能说我的代码有什么问题?

【问题讨论】:

  • 使用 if($_POST['type']=="add")
  • 还是不行
  • 在你的add.php 中尝试var_dump($_POST['type']) 输出是什么?
  • @priyaM 试试下面的答案
  • 我认为url: "add.php?type=add", 不是更好的方法。在 HTTP POST 请求中,所有参数都在请求正文中发送,而不是在 URL 中。现在您将 type 作为 GET 而不是作为 POST 参数发送。

标签: php ajax datatable


【解决方案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');
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多