javascript - AJAX JQuery 从 html 中删除但不从 mysql 数据库中删除

标签 javascript php jquery mysql ajax

这里有什么问题?

我的 PHP/HTML(唯一重要的部分):

if(isset($_POST['submit']))
{
    $date = date('Y-m-d', strtotime(str_replace("-","/",$_POST['dateOfEntry'])));
    $username = $_POST['user'];

    $query = 'SELECT `ID`, `Date`, `Description`, `TypeOfDowntime`, `Machine#` FROM `machineissuesreport` WHERE `Date`="'.$date.'" AND `UpdatedBy` = "'.$username.'" ORDER BY `ID` DESC';

    $conn = mysqli_query($connection, $query);

    while($row = mysqli_fetch_array($conn))
    {
        echo '<tr>';
        echo '<td style="text-align: center" width="5px"><input type="button" name="edit" value="Edit"></td>';
        echo '<td style="text-align: center" width="5px"><a href="#" id="'.$row['ID'].'" class="delete">Delete</a></td>';
        echo '<td style="display: none;"><input type="hidden" value='.$row['ID'].'></td>';
        echo '<td>'.$row['Date'].'</td>';
        echo '<td>'.$row['Description'].'</td>';
        echo '<td>'.$row['TypeOfDowntime'].'</td>';
        echo '<td>'.$row['Machine#'].'</td>';
        echo '</tr>';
    }

}
?>

我的 Ajax/Javascript:

$(document).ready(function() 
{
    $('.delete').click(function()
    {
        if(confirm("Are you sure you want to delete this row?"))
        {
            var del_id = $(this).attr('id');
            var $ele = $(this).parent().parent();

            $.ajax({
                type: 'POST',
                url: 'machineEntryLogEdit.php',
                data: {'del_id':'del_id'},
                success: function(data)
                {
                    $ele.fadeOut().remove();            
                },
                error: function (xhr, status, error)
                {
                    alert(this);
                }
            });
        }
    });
});

我的 PHP(在外部脚本上:machineEntryLogEdit.php):

include('connServer.php');

$deleteID = $_POST['del_id'];

$query = 'DELETE FROM `machineissuesreport` WHERE `ID` ="'.$deleteID.'"';

$result = mysqli_connect($connection, $query);

if(isset($result)) 
{
   echo "YES";
} 
else 
{
   echo "NO";
}

?>

我四处寻找解决方案,但无济于事。它所做的唯一事情是从 HTML 表中删除记录,而不是从数据库中删除记录,导致刷新后重新出现应该删除的行。我对 AJAX 还是很陌生(事实上,我今天才自己学会)并且仍在阅读文档和论坛。谢谢。

最佳答案

这应该是 data: {'del_id': del_id} 删除引号,以便它作为一个变量,而不仅仅是一个字符串。还有一件事,您的删除查询没有执行,因为您正在使用:

$result = mysqli_connect($connection, $query);

应该是 mysqli_query,就像您在选择数据部分所做的一样:

$query = 'DELETE FROM `machineissuesreport` WHERE `ID` ="'.$deleteID.'"';
$result = mysqli_query($connection, $query);

关于javascript - AJAX JQuery 从 html 中删除但不从 mysql 数据库中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714071/

相关文章:

javascript - 优化不同表单jquery重置表单字段

php - 我想在 php 中 curl 谷歌搜索结果

php - Symfony cron 作业,奇怪的错误

javascript - 为溢出内容创建一个克隆页面(类似于 Microsoft Word)

javascript - 动态添加元素上的按键事件不起作用

javascript - Angular JS + Asp.Net MVC 基本示例; Angular 未被提及

javascript - Aurelia:使用 jspm 包中的 SVG

javascript - GET请求缓存页面响应

php - 如何在 PHP 中从数据库中搜索阿拉伯语?

javascript - 从外部 json 文件获取对象数组并在 javascript 中存储为数组