javascript - jQuery/PHP - 将数据从 JS 传递到 PHP 以对数据库执行删除

标签 javascript php jquery mysql

我想通过我自己的管理页面删除数据库中的一个对象。它的工作方式很简单:当我点击与对象对应的行中的删除按钮时,JS 代码将获取对象的“id”属性并将其传递给 PHP 以执行 sql 删除查询。虽然控制台什么也没有显示,但我的代码不起作用。你介意看一眼我的代码并找出它有什么问题吗?我正在使用 PHP 7。包含所有必需的库。非常感谢!

这是我的代码:

HTML:

<table>
    <thead>
        <th>ID</th>
        <th>Name</th>
    </thead>

    <tbody>
        <?php
            include("../connect.php");
            $sql = "select * from tbl";
            $query = mysqli_query($connect,$sql);
            while($data = mysqli_fetch_assoc($query)) {
        ?>

        <tr>
            <td class="data-id">
                <?php echo $data['id'] ?>
            </td>
            <td>
                <?php echo $data['name'] ?>
            </td>
            <td>
                <img src="delete.png" class="delete-button">
            </td>
        </tr>

        <?php } ?>
    </tbody>
</table>

JS:

$(document).ready(function() {
    $('.delete-button').click(function() {
        var id = $(this).parent().siblings('.data-id').text();

        $.ajax({
            type: 'post',
            url: 'http://localhost/myproject/delete.php',
            data: {
                "id":id
            }
        });
    });
});

PHP 删除.php

<?php
    include("../connect.php");
    if(isset($_POST["id"])) {
        $id = $_POST["id"];
        $sql = "delete from tbl where id=".$id;
        $query = mysqli_query($connect,$sql);
    }
?>

PHP 连接.php

<?php
    $connect = new mysqli("localhost","root","","db");
    mysqli_set_charset($connect,'utf8');
?>

最佳答案

您的删除查询语法错误。它应该如下所示,

$sql = "delete from tbl where id=".$id;

从查询中删除'*'

更新:您的代码中还有 2 个错误,希望这些更正可以解决您的问题

问题 1:由于您在 TD 中发送文本作为 id,它会沿着 HTML 中的空格发送 id。所以削减你的值(value)。这是您的查询,

$sql = "delete from tbl where id=".trim($id);

问题 2:这可能是拼写错误。 '$connnect' 变量在 connect.php 文件中应该是 '$connect'。

关于javascript - jQuery/PHP - 将数据从 JS 传递到 PHP 以对数据库执行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43557568/

相关文章:

php - SQL 连接返回错误结果

html - jQuery Accordion 不会像它应该的那样下降

javascript - 元素宽度沿一个方向减小

jquery - 如何将 div 元素粘贴到另一个 div,无论后者的宽度如何

javascript - 物化路径中的对象

javascript - 如何进行跨越多个元素的范围选择?

javascript - 读取其中包含 ]] 的 XML CDATA 部分

javascript - 如何扩展 jQuery 以便更轻松地检索 tagName

php - 更新而不是用ajax替换wordpress自定义字段

php - 从数据库中回显一组特定的行