php - 使用ajax在php中删除函数

标签 php jquery mysql ajax

我正在尝试使用 ajax/jquery 创建一个动态表。

添加、更新等其他功能可以使用,但我的删除功能似乎无法使用。我正在研究这个问题,但没有结果。

下面是从数据库中获取数据并形成表格的片段。 每行都有更新/删除按钮,这些按钮会导致相应的功能。

if(mysqli_num_rows($result) > 0) 
    { 
        $number = 1; 
        while($row = mysqli_fetch_assoc($result)) 
        { 
            $data .= '<tr> 
                <td>'.$number.'</td> 
                <td>'.$row['Surname'].'</td> 
                <td>'.$row['Name'].'</td> 
                <td>'.$row['Address'].'</td> 
                <td>'.$row['Telephone'].'</td> 
                <td>'.$row['PurchaseDate'].'</td> 
                <td>'.$row['Model'].'</td> 
                <td>'.$row['SerialNumber'].'</td> 
                <td>'.$row['Notes'].'</td> 
                <td> 
                    <button onclick="GetUserDetails('.$row['id'].')" class="btn btn-warning">Update</button> 
                </td> 
                <td> 
                    <button onclick="DeleteUser('.$row['id'].')" class="btn btn-danger">Delete</button> 
                </td> 
            </tr>'; 
            $number++; 
        } 
    } 

这是我的删除函数,它从另一个从数据库加载表的 php 接收行的 id。

删除函数脚本

function DeleteUser(id) {
    var conf = confirm("Are you sure, do you really want to delete User?");
    if (conf == true) {
        $.post("ajax/deleteUser.php", {
                id: id
            },
            function (data, status) {
                // reload Users by using readRecords();
                readRecords();
            }
        );
    }
}

删除函数 php

<?php   
// check request   
if(isset($_POST['id']) && isset($_POST['id']) != "")   
{   
    // include Database connection file   
    include("db_connection.php");   

    // get user id   
    $client_id = $_POST['id'];   

    // delete User   
    $query = "DELETE FROM Clients WHERE id = '$client_id'";   
    if (!$result = mysqli_query($query)) {   
        exit(mysqli_error($result)); 
    }   
}   
?>   

我什至尝试进入 mysql 而不是 mysqli,它以某种方式工作。我有点假设 mysqli 具有与 mysql 不同的功能?好吧,我听说 mysql 已被弃用,但似乎我在这里做错了什么......

我不擅长编程,我正在学习它成为我的新爱好。任何提示将不胜感激。

最佳答案

mysqli_* 是更面向对象的 MySQL 改进版本。

您需要将连接 ID 传递给 mysqli_query()

mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

因此,更正后的代码:

if (!$result = mysqli_query($conn, $query)) {
// Where $conn is the connection identifier.

Documentation

关于php - 使用ajax在php中删除函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40415296/

相关文章:

javascript - 我可以改进这个 jQuery 代码重复吗?

在没有参数的情况下调用存储过程时,Mysql 错误 #1064 接近 Null

php - IN 查询计数随着页面加载速度非常慢,寻找另一个解决方案

PHP GDAL/OGR 库的使用,哪种方法更干净?

php - 搜索表单选择结果

mysql - 我应该规范化这个(用户)表吗?

php - 将 session 数据与数据库数据相结合

javascript - 如何使用 PHP 从数据库中获取数据并将其传递给 Javascript

javascript - 如何在 JavaScript 中停止一次又一次调用同一个函数?

jquery - 加载内容后未应用样式