Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除表格行+;使用AJAX/JQuery的DB行_Php_Jquery_Html_Mysql_Ajax - Fatal编程技术网

Php 删除表格行+;使用AJAX/JQuery的DB行

Php 删除表格行+;使用AJAX/JQuery的DB行,php,jquery,html,mysql,ajax,Php,Jquery,Html,Mysql,Ajax,我创建了一个表,它在每次添加行时动态创建行+删除按钮(这些行从数据库中读取) 我希望使用delete按钮删除该行并删除DB数据 这是我的密码: Ajax调用: $(document).ready(function() { $('button').click(function() { var $this = $(this); $.ajax({ type: 'GET', url: 'ajaxManager.ph

我创建了一个表,它在每次添加行时动态创建行+删除按钮(这些行从数据库中读取)

我希望使用delete按钮删除该行并删除DB数据

这是我的密码:

Ajax调用:

$(document).ready(function() {
    $('button').click(function() {
        var $this = $(this); 
        $.ajax({
            type: 'GET',
            url: 'ajaxManager.php',
            data: 'idDel=' + $this.attr('id'),
            success: function() {
                $this.closest("tr").remove();
            }
        });
    });
});
$name=filter_input(INPUT_POST, 'idDel', FILTER_SANITIZE_STRING, FILTER_NULL_ON_FAILURE);
if($name !== FALSE) {
    $result = deletePlayer($db, $name);
    echo json_encode($result);
}
function deletePlayer(PDO $conn, $name) {
    $sql = "delete from player where name = :name";
    try {
        $conn->beginTransaction();
        $stmt = $conn->prepare($sql);
        $stmt->bindValue(":name", $name, PDO::PARAM_STR);
        $stmt->execute();
        $conn->commit();
        $players = getPlayerInfo($conn);
    } catch (PDOException $exc) {
        echo $exc->getMessage();
    }
 return $players;
}
ajaxManager:

$(document).ready(function() {
    $('button').click(function() {
        var $this = $(this); 
        $.ajax({
            type: 'GET',
            url: 'ajaxManager.php',
            data: 'idDel=' + $this.attr('id'),
            success: function() {
                $this.closest("tr").remove();
            }
        });
    });
});
$name=filter_input(INPUT_POST, 'idDel', FILTER_SANITIZE_STRING, FILTER_NULL_ON_FAILURE);
if($name !== FALSE) {
    $result = deletePlayer($db, $name);
    echo json_encode($result);
}
function deletePlayer(PDO $conn, $name) {
    $sql = "delete from player where name = :name";
    try {
        $conn->beginTransaction();
        $stmt = $conn->prepare($sql);
        $stmt->bindValue(":name", $name, PDO::PARAM_STR);
        $stmt->execute();
        $conn->commit();
        $players = getPlayerInfo($conn);
    } catch (PDOException $exc) {
        echo $exc->getMessage();
    }
 return $players;
}
删除播放器功能:

$(document).ready(function() {
    $('button').click(function() {
        var $this = $(this); 
        $.ajax({
            type: 'GET',
            url: 'ajaxManager.php',
            data: 'idDel=' + $this.attr('id'),
            success: function() {
                $this.closest("tr").remove();
            }
        });
    });
});
$name=filter_input(INPUT_POST, 'idDel', FILTER_SANITIZE_STRING, FILTER_NULL_ON_FAILURE);
if($name !== FALSE) {
    $result = deletePlayer($db, $name);
    echo json_encode($result);
}
function deletePlayer(PDO $conn, $name) {
    $sql = "delete from player where name = :name";
    try {
        $conn->beginTransaction();
        $stmt = $conn->prepare($sql);
        $stmt->bindValue(":name", $name, PDO::PARAM_STR);
        $stmt->execute();
        $conn->commit();
        $players = getPlayerInfo($conn);
    } catch (PDOException $exc) {
        echo $exc->getMessage();
    }
 return $players;
}
该按钮可以从表中删除该行,但不能从数据库中删除该行

怎么了(

提前谢谢


编辑:数据库中的表名称为“player”,其中的列称为“name”。

我看到您在ajax中发送id,但在SQL中我看到您按名称删除。您确定SQL中的名称等于ajax中的id吗SQL数据库中的表名为“name”,我也必须将ajax更改为name吗?对不起,我的错,我弄错了-表名为player,player中的列名为name。没错,所以现在的问题是您确定值[$this.attr('id')]在传递给列名的ajax中,或者表中有另一个名为id的列?您的查询可能如下所示:delete from player,其中id=:id