【问题标题】:Using jQuery, AJAX, PHP to delete row in database使用 jQuery、AJAX、PHP 删除数据库中的行
【发布时间】:2021-04-05 01:00:29
【问题描述】:

编辑:

根据以下 cmets 中提供的解决方案。

数据库中没有发生任何事情
解决方案是简单刷新页面,因为我之前将 delete.php 文件放在不同的目录中(因此代码运行良好......这只是身份错误的情况 - 它总是最小的事情)。

页面上什么也没有发生
解决方案是给父

一个唯一的 id(与删除按钮/图像相同 - 1),然后在我的 jQuery.js 文件中的 ajax 函数下添加...
success: function() {
    $('#'.concat(id)).remove();
}

感谢@SikanderNawaz

结束编辑

我正在尝试使用 jQuery、AJAX 和 PHP 删除数据库中的一行,而我的代码应该可以,但无法正常工作。
我单击删除按钮,但页面或数据库中没有任何反应。

我哪里做错了?
希望这里有人可以提供帮助。

数据库

------------------
| id | link      |
------------------
| 1  | image.jpg |
------------------

HTML

<head>
    ...
    <script src="jquery-3.4.1.js"></script>
    ...
</head>
<body>
    ...
    <button type="button" name="delete" id="delete" class="some stylings" value="1"><h6><b>X</b></h6></button>
    <img src="images/image.jpg" />
    ...
    <script src="jQuery.js"></script>
</body>

jQuery.js

$(document).ready(function(){
    $('button#delete').click(function(){
        var id = $(this).val(); // tested and returns 1 (see button value)
        
        $.ajax({
            url: 'delete.php',
            type: 'post',
            data: { id: id },
            success: function() {
                $('#'.concat(id)).remove();
            }
        });
    });
})

删除.php

<?php
    
    require ("connection.php");
    
    if (isset($_POST['id'])) {
        
        $id = $_POST['id'];
        
        try {
            
            $sql = 
            "
            DELETE FROM test
            
            WHERE
                id = ?
            ";
            
            $prepareTest = $pdo->prepare($sql);
            $prepareTest->execute([$id]);
            
        } catch(PDOException $e) {
            
            file_put_contents('../error/e.txt', $e->getMessage(), FILE_APPEND);
            
        }
    
    }

【问题讨论】:

  • 您检查过您的网络标签吗?你遇到什么错误?
  • 请检查您浏览器的网络选项卡或控制台,并告诉我们它抛出了什么错误?
  • 是的......没有显示错误(来自connection.php或其他......当我点击删除按钮时没有发生任何事情 - 本来想显示connection.php也是,以防万一,但它说代码太多)
  • hmmm .. 它显示 404 错误... 找不到 delete.php - 等等... 我会调查它... 如果它是那么简单我要去哭:) - 但它应该喜欢它,因为它都在同一个文件夹中
  • 不...现在我让它显示一条 200 成功消息-它成功找到了 delete.php,但仍然没有发生任何事情-在页面或数据库中...所以仍然没有工作......编辑:(当我在单独的文件夹中有 delete.php 时忘记从 w 刷新页面)

标签: php jquery mysql ajax sql-delete


【解决方案1】:

在使用 JS/Ajax 时,始终使用 console.log 来记录数据和错误,并在 Networks 选项卡中发现错误以及任何与 db 相关的错误,并使用在每个步骤中转储的数据来管理调试以发现问题错误来自。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-21
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 2016-03-19
    相关资源
    最近更新 更多